Commit realizado el 12:13:52 08-04-2024

This commit is contained in:
Pagina Web Monito
2024-04-08 12:13:55 -04:00
commit 0c33094de9
7815 changed files with 1365694 additions and 0 deletions

View File

@@ -0,0 +1,50 @@
<?php
/**
* Forms selector for admin bar menu.
*
* @since 1.6.5
*
* @var array $forms_data Forms data.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
$has_notifications = $forms_data['has_notifications'] ? ' wpforms-menu-form-notifications' : '';
end( $forms_data['forms'] );
$last_key = key( $forms_data['forms'] );
?>
<script type="text/html" id="tmpl-wpforms-admin-menubar-data">
<?php foreach ( $forms_data['forms'] as $key => $form ) : ?>
<li id="wp-admin-bar-wpforms-form-id-<?php echo esc_attr( $form['form_id'] ); ?>" class="menupop wpforms-menu-form<?php echo $key === 0 ? esc_attr( $has_notifications ) : ''; ?><?php echo $key === $last_key ? ' wpforms-menu-form-last' : ''; ?>">
<div class="ab-item ab-empty-item" aria-haspopup="true"><span class="wp-admin-bar-arrow" aria-hidden="true"></span><?php echo esc_html( $form['title'] ); ?></div>
<div class="ab-sub-wrapper">
<ul id="wp-admin-bar-wpforms-form-id-<?php echo esc_attr( $form['form_id'] ); ?>-default" class="ab-submenu">
<?php if ( ! empty( $form['edit_url'] ) ) : ?>
<li id="wp-admin-bar-wpforms-form-id-<?php echo esc_attr( $form['form_id'] ); ?>-edit">
<a class="ab-item" href="<?php echo esc_url( $form['edit_url'] ); ?>"><?php echo esc_html( $forms_data['edit_text'] ); ?></a>
</li>
<?php endif; ?>
<?php if ( ! empty( $form['entries_url'] ) ) : ?>
<li id="wp-admin-bar-wpforms-form-id-<?php echo esc_attr( $form['form_id'] ); ?>-entries">
<a class="ab-item" href="<?php echo esc_url( $form['entries_url'] ); ?>"><?php echo esc_html( $forms_data['entry_text'] ); ?></a>
</li>
<?php endif; ?>
<?php if ( ! empty( $form['payments_url'] ) ) : ?>
<li id="wp-admin-bar-wpforms-form-id-<?php echo esc_attr( $form['form_id'] ); ?>-payments">
<a class="ab-item" href="<?php echo esc_url( $form['payments_url'] ); ?>"><?php echo esc_html( $forms_data['payment_text'] ); ?></a>
</li>
<?php endif; ?>
<?php if ( ! empty( $form['survey_url'] ) ) : ?>
<li id="wp-admin-bar-wpforms-form-id-<?php echo esc_attr( $form['form_id'] ); ?>-survey">
<a class="ab-item" href="<?php echo esc_url( $form['survey_url'] ); ?>"><?php echo esc_html( $forms_data['survey_text'] ); ?></a>
</li>
<?php endif; ?>
</ul>
</div>
</li>
<?php endforeach; ?>
</script>

View File

@@ -0,0 +1,45 @@
<?php
/**
* Challenge HTML template specific to Form Builder.
*
* @since 1.6.2
*/
if ( ! \defined( 'ABSPATH' ) ) {
exit;
}
?>
<div class="wpforms-challenge-tooltips">
<div id="tooltip-content1">
<h3><?php esc_html_e( 'Name Your Form', 'wpforms-lite' ); ?></h3>
<p><?php esc_html_e( 'Give your form a name so you can easily identify it.', 'wpforms-lite' ); ?></p>
<button type="button" class="wpforms-challenge-step1-done wpforms-challenge-done-btn"><?php esc_html_e( 'Done', 'wpforms-lite' ); ?></button>
</div>
<div id="tooltip-content2">
<h3><?php esc_html_e( 'Select a Template', 'wpforms-lite' ); ?></h3>
<p><?php esc_html_e( 'Build your form from scratch or use one of our pre-made templates.', 'wpforms-lite' ); ?></p>
</div>
<div id="tooltip-content3">
<p><?php esc_html_e( 'You can add additional fields to your form, if you need them.', 'wpforms-lite' ); ?></p>
<button type="button" class="wpforms-challenge-step3-done wpforms-challenge-done-btn"><?php esc_html_e( 'Done', 'wpforms-lite' ); ?></button>
</div>
<div id="tooltip-content4">
<h3><?php esc_html_e( 'Check Notification Settings', 'wpforms-lite' ); ?></h3>
<p><?php esc_html_e( 'The default notification settings might be sufficient, but double&#8209;check to be sure.', 'wpforms-lite' ); ?></p>
<button type="button" class="wpforms-challenge-step4-done wpforms-challenge-done-btn"><?php esc_html_e( 'Done', 'wpforms-lite' ); ?></button>
</div>
</div>
<div class="wpforms-challenge-popup-container">
<div id="wpforms-challenge-welcome-builder-popup" class="wpforms-challenge-popup wpforms-challenge-popup-plain">
<div class="wpforms-challenge-popup-content">
<h3><?php esc_html_e( 'Welcome to the Form Builder', 'wpforms-lite' ); ?></h3>
<p><?php esc_html_e( 'Our form builder is a full-screen, distraction-free experience where you manage your forms. The following steps will walk you through essential areas.', 'wpforms-lite' ); ?></p>
<button type="button" class="wpforms-challenge-popup-btn"><?php esc_html_e( 'Lets Go!', 'wpforms-lite' ); ?></button>
</div>
</div>
</div>

View File

@@ -0,0 +1,117 @@
<?php
/**
* Challenge HTML template specific to form embed page.
*
* @since 1.6.2
*
* @var int $minutes
* @var string $congrats_popup_footer Congrats popup footer HTML.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div class="wpforms-challenge-tooltips">
<div id="tooltip-content5">
<?php if ( wpforms_is_gutenberg_active() ) : // Gutenberg content. ?>
<h3><?php esc_html_e( 'Add a Block', 'wpforms-lite' ); ?></h3>
<p>
<?php
printf(
wp_kses(
/* translators: %s - link to the WPForms documentation page. */
__( 'Click the plus button, search for WPForms, click the block to<br>embed it. <a href="%s" target="_blank" rel="noopener noreferrer">Learn More</a>.', 'wpforms-lite' ),
[
'a' => [
'href' => [],
'rel' => [],
'target' => [],
],
'br' => [],
]
),
esc_url( wpforms_utm_link( 'https://wpforms.com/docs/creating-first-form/#display-form', 'WPForms Challenge Block', 'Add A Block' ) )
);
?>
</p>
<i class="wpforms-challenge-tooltips-red-arrow"></i>
<?php else : ?>
<h3><?php esc_html_e( 'Embed in a Page', 'wpforms-lite' ); ?></h3>
<p><?php esc_html_e( 'Click the “Add Form” button, select your form, then add the embed code.', 'wpforms-lite' ); ?></p>
<?php endif; ?>
<button type="button" class="wpforms-challenge-step5-done wpforms-challenge-done-btn"><?php esc_html_e( 'Done', 'wpforms-lite' ); ?></button>
</div>
</div>
<div class="wpforms-challenge-popup-container">
<div id="wpforms-challenge-congrats-popup" class="wpforms-challenge-popup wpforms-challenge-popup-congrats">
<i class="wpforms-challenge-popup-close fa fa-times-circle fa-lg"></i>
<div class="wpforms-challenge-popup-content">
<h3>
<?php esc_html_e( 'Congrats, You Did It!', 'wpforms-lite' ); ?>
<img src="<?php echo esc_url( WPFORMS_PLUGIN_URL . 'assets/images/challenge/party-popper.png' ); ?>" alt="">
</h3>
<p>
<?php
echo wp_kses(
sprintf(
/* translators: %1$s - number of minutes in HTML container, %2$s - singular or plural form of 'minute', %3$s - number of seconds in HTML container, %4$s - singular or plural form of 'second', %5$s - 5 rating star symbols HTML. */
__( 'You completed the WPForms Challenge in <b>%1$s %2$s %3$s %4$s</b>. Share your success story with other WPForms users and help us spread the word <b>by giving WPForms a 5-star rating (%5$s) on WordPress.org</b>. Thanks for your support and we look forward to bringing you more awesome features.', 'wpforms-lite' ),
'<span id="wpforms-challenge-congrats-minutes"></span>',
_n( 'minute', 'minutes', absint( $minutes ), 'wpforms-lite' ),
'<span id="wpforms-challenge-congrats-seconds"></span>',
_n( 'second', 'seconds', absint( $minutes ), 'wpforms-lite' ),
'<span class="rating-stars"><i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i><i class="fa fa-star"></i></span>'
),
[
'span' => [
'id' => [],
'class' => [],
],
'b' => [],
'i' => [
'class' => [],
],
]
);
?>
</p>
<a href="https://wordpress.org/support/plugin/wpforms-lite/reviews/?filter=5#new-post" class="wpforms-challenge-popup-btn wpforms-challenge-popup-rate-btn" target="_blank" rel="noopener"><?php esc_html_e( 'Rate WPForms on WordPress.org', 'wpforms-lite' ); ?>
<span class="dashicons dashicons-external"></span></a>
</div>
<?php echo $congrats_popup_footer; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
</div>
<div id="wpforms-challenge-contact-popup" class="wpforms-challenge-popup">
<div class="wpforms-challenge-popup-header wpforms-challenge-popup-header-contact">
<i class="wpforms-challenge-popup-close fa fa-times-circle fa-lg"></i>
</div>
<div class="wpforms-challenge-popup-content">
<form id="wpforms-challenge-contact-form">
<h3><?php esc_html_e( 'Do you need more help?', 'wpforms-lite' ); ?></h3>
<p>
<?php
echo wp_kses(
sprintf(
/* translators: %1$d - number of minutes, %2$s - singular or plural form of 'minute'. */
__( 'We\'re sorry that it took longer than %1$d %2$s to publish your form. Our goal is to create the most beginner-friendly WordPress form plugin.<br>How can we help you to be successful? Please send us your feedback. Our support team is standing by to help.', 'wpforms-lite' ),
absint( $minutes ),
_n( 'minute', 'minutes', absint( $minutes ), 'wpforms-lite' )
),
[ 'br' => [] ]
);
?>
</p>
<textarea class="wpforms-challenge-contact-message"></textarea>
<?php if ( ! wpforms()->is_pro() ) { ?>
<label>
<input type="checkbox" class="wpforms-challenge-contact-permission"><?php esc_html_e( 'Yes, I give WPForms permission to contact me for any follow up questions.', 'wpforms-lite' ); ?>
</label>
<?php } ?>
<button type="submit" class="wpforms-challenge-popup-btn wpforms-challenge-popup-contact-btn"><?php esc_html_e( 'Submit Feedback', 'wpforms-lite' ); ?></button>
</form>
</div>
</div>
</div>

View File

@@ -0,0 +1,78 @@
<?php
/**
* Challenge main modal window template.
*
* @since 1.6.2
*
* @var string $state
* @var integer $step
* @var integer $minutes
*/
if ( ! \defined( 'ABSPATH' ) ) {
exit;
}
?>
<div class="wpforms-challenge <?php echo 'start' === $state ? 'wpforms-challenge-start' : ''; ?>"
data-wpforms-challenge-saved-step="<?php echo absint( $step ); ?>">
<div class="wpforms-challenge-list-block">
<i class="list-block-button toggle-list" title="<?php esc_attr_e( 'Toggle list', 'wpforms-lite' ); ?>"></i>
<i class="list-block-button challenge-skip" title="<?php esc_attr_e( 'Skip challenge', 'wpforms-lite' ); ?>"
data-cancel-title="<?php esc_attr_e( 'Cancel challenge', 'wpforms-lite' ); ?>"></i>
<p>
<?php
echo wp_kses(
sprintf(
/* translators: %1$d - number of minutes, %2$s - singular or plural form of 'minute'. */
__( 'Complete the <b>WPForms Challenge</b> and get up and running within %1$d&nbsp;%2$s.', 'wpforms-lite' ),
absint( $minutes ),
_n( 'minute', 'minutes', absint( $minutes ), 'wpforms-lite' )
),
[ 'b' => [] ]
);
?>
</p>
<ul class="wpforms-challenge-list">
<li class="wpforms-challenge-step1-item"><span></span><?php esc_html_e( 'Name Your Form', 'wpforms-lite' ); ?></li>
<li class="wpforms-challenge-step2-item"><span></span><?php esc_html_e( 'Select a Template', 'wpforms-lite' ); ?></li>
<li class="wpforms-challenge-step3-item"><span></span><?php esc_html_e( 'Add Fields to Your Form', 'wpforms-lite' ); ?></li>
<li class="wpforms-challenge-step4-item"><span></span><?php esc_html_e( 'Check Notifications', 'wpforms-lite' ); ?></li>
<li class="wpforms-challenge-step5-item"><span></span><?php esc_html_e( 'Embed in a Page', 'wpforms-lite' ); ?></li>
<li class="wpforms-challenge-completed"><span></span><?php esc_html_e( 'Challenge Complete', 'wpforms-lite' ); ?></li>
</ul>
</div>
<div class="wpforms-challenge-bar" style="display:none">
<div></div>
</div>
<div class="wpforms-challenge-block-timer">
<img src="<?php echo esc_url( WPFORMS_PLUGIN_URL . 'assets/images/challenge/sullie-circle.png' ); ?>" alt="<?php esc_html_e( 'Sullie the WPForms mascot', 'wpforms-lite' ); ?>">
<div>
<h3><?php esc_html_e( 'WPForms Challenge', 'wpforms-lite' ); ?></h3>
<p>
<?php
printf(
/* translators: %s - minutes in 2:00 format. */
esc_html__( '%s remaining', 'wpforms-lite' ),
'<span id="wpforms-challenge-timer">' . absint( $minutes ) . ':00</span>'
);
?>
</p>
</div>
</div>
<div class="wpforms-challenge-block-under-timer">
<?php if ( 'start' === $state ) : ?>
<a href="<?php echo esc_url( admin_url( 'admin.php?page=wpforms-builder' ) ); ?>" class="wpforms-btn wpforms-btn-md wpforms-btn-orange wpforms-challenge-start">
<?php esc_html_e( 'Start Challenge', 'wpforms-lite' ); ?>
</a>
<?php elseif ( 'progress' === $state ) : ?>
<button type="button" class="wpforms-btn wpforms-btn-md wpforms-btn-grey wpforms-challenge-pause"><?php esc_html_e( 'Pause', 'wpforms-lite' ); ?></button>
<button type="button" class="wpforms-btn wpforms-btn-md wpforms-btn-orange wpforms-challenge-resume" style="display: none;"><?php esc_html_e( 'Continue', 'wpforms-lite' ); ?></button>
<button type="button" class="wpforms-btn wpforms-btn-md wpforms-btn-orange wpforms-challenge-end" style="display: none;"><?php esc_html_e( 'End Challenge', 'wpforms-lite' ); ?></button>
<?php endif; ?>
</div>
</div>

View File

@@ -0,0 +1,24 @@
<?php
/**
* Challenge CTA on WPForms welcome activation screen HTML template.
*
* @since 1.6.2
*/
if ( ! \defined( 'ABSPATH' ) ) {
exit;
}
?>
<div class="challenge">
<div class="block">
<h1><?php esc_html_e( 'Take the WPForms Challenge', 'wpforms-lite' ); ?></h1>
<h6><?php esc_html_e( 'Create your first form with our guided setup wizard in less than 5 minutes to experience the WPForms difference.', 'wpforms-lite' ); ?></h6>
<div class="button-wrap">
<a href="<?php echo esc_url( admin_url( 'admin.php?page=wpforms-builder' ) ); ?>" class="wpforms-btn wpforms-btn-lg wpforms-btn-orange">
<?php esc_html_e( 'Start the WPForms Challenge', 'wpforms-lite' ); ?>
</a>
</div>
</div>
</div>

View File

@@ -0,0 +1,37 @@
<?php
/**
* Overview chart template.
*
* @since 1.8.2
*
* @var string $id Identifier to outline the context of where the chart will be used. i.e., "entries".
* @var array $notice Container variable for holding placeholder heading and description text that is displayed when the chart has no stats to show.
* @var string $total_items Total number of items (entries) as a placeholder text to be shown.
*/
defined( 'ABSPATH' ) || exit; // Exit if accessed directly.
?>
<div class="wpforms-overview-chart">
<div class="spinner"></div>
<div class="wpforms-overview-chart-notice wpforms-hide">
<div class="wpforms-overview-chart-notice-content">
<h2><?php echo esc_html( $notice['heading'] ); ?></h2>
<p><?php echo esc_html( $notice['description'] ); ?></p>
</div>
</div>
<?php if ( ! empty( $total_items ) ) : ?>
<h3 class="wpforms-overview-chart-heading">
<?php echo esc_html( $total_items ); ?>:
<span class="wpforms-overview-chart-total-items">0</span>
</h3>
<?php endif; ?>
<div class="wpforms-overview-chart-canvas">
<canvas id="wpforms-<?php echo esc_attr( $id ); ?>-overview-canvas" width="400" height="300"></canvas>
</div>
</div>
<?php
/* Omit closing PHP tag at the end of PHP files to avoid "headers already sent" issues. */

View File

@@ -0,0 +1,72 @@
<?php
/**
* Popover (range) datepicker template.
*
* @since 1.8.2
*
* @var string $action The URL that processes the form submission. Ideally points out to the current admin page URL.
* @var string $id Identifier to outline the context of where the datepicker will be used. e.g., "entries".
* @var string $chosen_filter Currently selected filter or date range values. Last "X" days, or i.e. Feb 8, 2023 - Mar 9, 2023.
* @var array $choices A list of date filter options for the datepicker module.
* @var string $value Assigned timespan dates.
*/
defined( 'ABSPATH' ) || exit; // Exit if accessed directly.
// An array of allowed HTML elements and attributes for the datepicker choices.
$choices_allowed_html = [
'li' => [],
'label' => [],
'input' => [
'type' => [],
'name' => [],
'value' => [],
'checked' => [],
'aria-hidden' => [],
],
];
?>
<form class="wpforms-overview-top-bar-filter-form" method="get" action="<?php echo esc_url( $action ); ?>">
<input type="hidden" name="page" value="wpforms-<?php echo esc_attr( $id ); ?>" />
<?php
// Output hidden fields for the current orderby and order values.
// phpcs:disable WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
if ( ! empty( $_REQUEST['orderby'] ) ) {
echo '<input type="hidden" name="orderby" value="' . esc_attr( wp_unslash( $_REQUEST['orderby'] ) ) . '" />';
}
if ( ! empty( $_REQUEST['order'] ) ) {
echo '<input type="hidden" name="order" value="' . esc_attr( wp_unslash( $_REQUEST['order'] ) ) . '" />';
}
// phpcs:enable WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
?>
<button id="wpforms-datepicker-popover-button" class="button" role="button" aria-haspopup="true">
<?php echo esc_html( $chosen_filter ); ?>
</button>
<div class="wpforms-datepicker-popover">
<div class="wpforms-datepicker-popover-content">
<ul class="wpforms-datepicker-choices" aria-label="<?php esc_attr_e( 'Datepicker options', 'wpforms-lite' ); ?>" aria-orientation="vertical">
<?php echo wp_kses( '<li>' . implode( '</li><li>', (array) $choices ) . '</li>', $choices_allowed_html ); ?>
</ul>
<div class="wpforms-datepicker-calendar">
<input
type="text"
name="date"
tabindex="-1"
aria-hidden="true"
id="wpforms-<?php echo esc_attr( $id ); ?>-overview-datepicker"
value="<?php echo esc_attr( $value ); ?>"
>
</div>
<div class="wpforms-datepicker-action">
<button class="button-secondary" type="reset"><?php esc_html_e( 'Cancel', 'wpforms-lite' ); ?></button>
<button class="button-primary wpforms-btn-blue" type="submit"><?php esc_html_e( 'Apply', 'wpforms-lite' ); ?></button>
</div>
</div>
</div>
</form>
<?php
/* Omit closing PHP tag at the end of PHP files to avoid "headers already sent" issues. */

View File

@@ -0,0 +1,59 @@
<?php
/**
* Dashboard widget settings gear icon template.
*
* @since 1.7.4
*
* @var int $graph_style Graph style, value 1 for Bar style, 2 for Line style.
* @var int $color_scheme Color scheme, value 1 for WPForms color scheme, 2 for for WordPress color scheme.
* @var bool $enabled If form fields should be enabled.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
$disabled = ! $enabled;
?>
<div class="wpforms-dash-widget-settings-container">
<button id="wpforms-dash-widget-settings-button" class="wpforms-dash-widget-settings-button button" type="button">
<span class="dashicons dashicons-admin-generic"></span>
</button>
<div class="wpforms-dash-widget-settings-menu <?php echo $disabled ? 'disabled' : ''; ?>">
<?php if ( isset( $graph_style ) ) : ?>
<div class="wpforms-dash-widget-settings-menu-wrap">
<h4><?php esc_html_e( 'Graph Style', 'wpforms-lite' ); ?></h4>
<div>
<div class="wpforms-dash-widget-settings-menu-item">
<input type="radio" id="wpforms-dash-widget-settings-style-bar" name="wpforms-style" value="1" <?php checked( '1', $graph_style ); ?> <?php disabled( $disabled ); ?>>
<label for="wpforms-dash-widget-settings-style-bar" <?php disabled( $disabled ); ?>><?php esc_html_e( 'Bar', 'wpforms-lite' ); ?></label>
</div>
<div class="wpforms-dash-widget-settings-menu-item">
<input type="radio" id="wpforms-dash-widget-settings-style-line" name="wpforms-style" value="2" <?php checked( '2', $graph_style ); ?> <?php disabled( $disabled ); ?>>
<label for="wpforms-dash-widget-settings-style-line" <?php disabled( $disabled ); ?>><?php esc_html_e( 'Line', 'wpforms-lite' ); ?></label>
</div>
</div>
</div>
<?php endif; ?>
<?php if ( isset( $color_scheme ) ) : ?>
<div class="wpforms-dash-widget-settings-menu-wrap color-scheme">
<h4><?php esc_html_e( 'Color Scheme', 'wpforms-lite' ); ?></h4>
<div>
<div class="wpforms-dash-widget-settings-menu-item">
<input type="radio" id="wpforms-dash-widget-settings-color-wpforms" name="wpforms-color" value="1" <?php checked( '1', $color_scheme ); ?> <?php disabled( $disabled ); ?>>
<label for="wpforms-dash-widget-settings-color-wpforms" <?php disabled( $disabled ); ?>><?php esc_html_e( 'WPForms', 'wpforms-lite' ); ?></label>
</div>
<div class="wpforms-dash-widget-settings-menu-item">
<input type="radio" id="wpforms-dash-widget-settings-color-wp" name="wpforms-color" value="2" <?php checked( '2', $color_scheme ); ?> <?php disabled( $disabled ); ?>>
<label for="wpforms-dash-widget-settings-color-wp" <?php disabled( $disabled ); ?>><?php esc_html_e( 'WordPress', 'wpforms-lite' ); ?></label>
</div>
</div>
</div>
<?php endif; ?>
<button type="button" class="button wpforms-dash-widget-settings-menu-save" <?php disabled( $disabled ); ?>><?php esc_html_e( 'Save Changes', 'wpforms-lite' ); ?></button>
</div>
</div>

View File

@@ -0,0 +1,46 @@
<?php
/**
* No forms HTML template.
*
* @since 1.6.2.3
*/
if ( ! \defined( 'ABSPATH' ) ) {
exit;
}
?>
<div class="wpforms-admin-empty-state-container wpforms-admin-no-forms">
<h2 class="waving-hand-emoji"><?php esc_html_e( 'Hi there!', 'wpforms-lite' ); ?></h2>
<p><?php esc_html_e( 'It looks like you havent created any forms yet.', 'wpforms-lite' ); ?></p>
<p><?php esc_html_e( 'You can use WPForms to build contact forms, surveys, payment forms, and more with just a few clicks.', 'wpforms-lite' ); ?></p>
<img src="<?php echo esc_url( WPFORMS_PLUGIN_URL . 'assets/images/empty-states/no-forms.svg' ); ?>" alt=""/>
<br>
<?php if ( wpforms_current_user_can( 'create_forms' ) ) : ?>
<a href="<?php echo esc_url( admin_url( 'admin.php?page=wpforms-builder' ) ); ?>" class="wpforms-btn add-new-h2 wpforms-btn-orange"><?php esc_html_e( 'Create Your Form', 'wpforms-lite' ); ?></a>
<?php endif; ?>
<p class="wpforms-admin-no-forms-footer">
<?php
printf(
wp_kses( /* translators: %s - URL to the documentation article. */
__( 'Need some help? Check out our <a href="%s" target="_blank" rel="noopener noreferrer">comprehensive guide</a>.', 'wpforms-lite' ),
[
'a' => [
'href' => [],
'target' => [],
'rel' => [],
],
]
),
esc_url( wpforms_utm_link( 'https://wpforms.com/docs/creating-first-form/', 'forms-overview', 'Create Your First Form Documentation' ) )
);
?>
</p>
</div>

View File

@@ -0,0 +1,55 @@
<?php
/**
* Get Started HTML template.
*
* @since 1.8.2
*
* @var string $message An abort message to display.
* @var string $version Determine whether is pro or lite version.
* @var string $cta_url URL for the "Get Started" CTA button.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
$allowed_html = [
'a' => [
'href' => [],
'rel' => [],
'target' => [],
],
'strong' => [],
];
?>
<div class="wpforms-admin-empty-state-container wpforms-admin-no-payments">
<h2 class="waving-hand-emoji"><?php esc_html_e( 'Hi there!', 'wpforms-lite' ); ?></h2>
<h4><?php esc_html_e( 'Ready to start collecting payments from your customers?', 'wpforms-lite' ); ?></h4>
<p><?php echo wp_kses( $message, $allowed_html ); ?></p>
<img src="<?php echo esc_url( WPFORMS_PLUGIN_URL . "assets/images/empty-states/payments/get-started-$version.svg" ); ?>" alt="">
<?php if ( wpforms_current_user_can( 'create_forms' ) ) : ?>
<a href="<?php echo esc_url( $cta_url ); ?>" class="wpforms-btn wpforms-btn-lg wpforms-btn-orange">
<?php esc_html_e( 'Get Started', 'wpforms-lite' ); ?>
</a>
<?php endif; ?>
<p class="wpforms-admin-no-forms-footer">
<?php
printf(
wp_kses( /* translators: %s - URL to the comprehensive guide. */
__( 'Need some help? Check out our <a href="%s" rel="noopener noreferrer" target="_blank">comprehensive guide.</a>', 'wpforms-lite' ),
$allowed_html
),
esc_url(
wpforms_utm_link(
'https://wpforms.com/docs/using-stripe-with-wpforms-lite/',
'Payments Dashboard',
'Splash - Manage Payments Documentation'
)
)
);
?>
</p>
</div>

View File

@@ -0,0 +1,50 @@
<?php
/**
* No Payments HTML template.
*
* @since 1.8.2
*
* @var string $cta_url URL for the "Go To All Forms" CTA button.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div class="wpforms-admin-empty-state-container wpforms-admin-no-payments">
<h2 class="waving-hand-emoji"><?php esc_html_e( 'Hi there!', 'wpforms-lite' ); ?></h2>
<h4><?php esc_html_e( "It looks like you haven't received any payments yet.", 'wpforms-lite' ); ?></h4>
<p><?php esc_html_e( "Your payment gateway has been configured and you're ready to go.", 'wpforms-lite' ); ?></p>
<img src="<?php echo esc_url( WPFORMS_PLUGIN_URL . 'assets/images/empty-states/payments/no-payments.svg' ); ?>" alt="" style="max-width: 314px;">
<?php if ( wpforms_current_user_can( 'view_forms' ) ) : ?>
<a href="<?php echo esc_url( $cta_url ); ?>" class="wpforms-btn wpforms-btn-lg wpforms-btn-orange">
<?php esc_html_e( 'Go To All Forms', 'wpforms-lite' ); ?>
</a>
<?php endif; ?>
<p class="wpforms-admin-no-forms-footer">
<?php
printf(
wp_kses( /* translators: %s - URL to the comprehensive guide. */
__( 'Need some help? Check out our <a href="%s" rel="noopener noreferrer" target="_blank">comprehensive guide.</a>', 'wpforms-lite' ),
[
'a' => [
'href' => [],
'rel' => [],
'target' => [],
],
]
),
esc_url(
wpforms_utm_link(
'https://wpforms.com/docs/using-stripe-with-wpforms-lite/',
'Payments Dashboard',
'Activated - Manage Payments Documentation'
)
)
);
?>
</p>
</div>

View File

@@ -0,0 +1,95 @@
<?php
/**
* Form Embed Wizard.
* Embed popup HTML template.
*
* @since 1.6.2
*/
if ( ! \defined( 'ABSPATH' ) ) {
exit;
}
$pages_exists = ! empty( $args['dropdown_pages'] ) ? 1 : 0;
?>
<div id="wpforms-admin-form-embed-wizard-container" class="wpforms-admin-popup-container">
<div id="wpforms-admin-form-embed-wizard" class="wpforms-admin-popup" data-pages-exists="<?php echo esc_attr( $pages_exists ); ?>">
<div class="wpforms-admin-popup-content">
<h3><?php esc_html_e( 'Embed in a Page', 'wpforms-lite' ); ?></h3>
<div id="wpforms-admin-form-embed-wizard-content-initial">
<p class="no-gap"><b><?php esc_html_e( 'We can help embed your form with just a few clicks!', 'wpforms-lite' ); ?></b></p>
<?php if ( ! empty( $args['user_can_edit_pages'] ) ) : ?>
<p><?php esc_html_e( 'Would you like to embed your form in an existing page, or create a new one?', 'wpforms-lite' ); ?></p>
<?php endif; ?>
</div>
<?php if ( ! empty( $args['user_can_edit_pages'] ) ) : ?>
<div id="wpforms-admin-form-embed-wizard-content-select-page" style="display: none;">
<p><?php esc_html_e( 'Select the page you would like to embed your form in.', 'wpforms-lite' ); ?></p>
</div>
<div id="wpforms-admin-form-embed-wizard-content-create-page" style="display: none;">
<p><?php esc_html_e( 'What would you like to call the new page?', 'wpforms-lite' ); ?></p>
</div>
<div id="wpforms-admin-form-embed-wizard-section-btns" class="wpforms-admin-popup-bottom">
<button type="button" data-action="select-page" class="wpforms-admin-popup-btn"><?php esc_html_e( 'Select Existing Page', 'wpforms-lite' ); ?></button>
<button type="button" data-action="create-page" class="wpforms-admin-popup-btn"><?php esc_html_e( 'Create New Page', 'wpforms-lite' ); ?></button>
</div>
<div id="wpforms-admin-form-embed-wizard-section-go" class="wpforms-admin-popup-bottom wpforms-admin-popup-flex" style="display: none;">
<?php echo $args['dropdown_pages']; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
<input type="text" id="wpforms-admin-form-embed-wizard-new-page-title" value="" placeholder="<?php esc_attr_e( 'Name Your Page', 'wpforms-lite' ); ?>">
<button type="button" data-action="go" class="wpforms-admin-popup-btn"><?php esc_html_e( 'Lets Go!', 'wpforms-lite' ); ?></button>
</div>
<?php endif; ?>
<div id="wpforms-admin-form-embed-wizard-section-toggles" class="wpforms-admin-popup-bottom">
<p class="secondary">
<?php
$allowed_tags = [
'a' => [
'href' => [],
'class' => [],
],
];
if ( ! empty( $args['user_can_edit_pages'] ) ) {
printf(
wp_kses( /* translators: %1$s - video tutorial toggle CSS classes, %2$s - shortcode toggle CSS classes. */
__( 'You can also <a href="#" class="%1$s">embed your form manually</a> or <a href="#" class="%2$s">use a shortcode</a>', 'wpforms-lite' ),
$allowed_tags
),
'tutorial-toggle wpforms-admin-popup-toggle',
'shortcode-toggle wpforms-admin-popup-toggle'
);
} else {
printf(
wp_kses( /* translators: %1$s - video tutorial toggle CSS classes, %2$s - shortcode toggle CSS classes. */
__( 'You can embed your form using the <a href="#" class="%1$s">WPForms block</a> or <a href="#" class="%2$s">a shortcode</a>.', 'wpforms-lite' ),
$allowed_tags
),
'tutorial-toggle wpforms-admin-popup-toggle',
'shortcode-toggle wpforms-admin-popup-toggle'
);
}
?>
</p>
<iframe style="display: none;" src="about:blank" frameborder="0" id="wpforms-admin-form-embed-wizard-tutorial" allowfullscreen width="450" height="256"></iframe>
<div id="wpforms-admin-form-embed-wizard-shortcode-wrap" style="display: none;">
<input type="text" id="wpforms-admin-form-embed-wizard-shortcode" class="wpforms-admin-popup-shortcode" disabled />
<span id="wpforms-admin-form-embed-wizard-shortcode-copy" title="<?php esc_attr_e( 'Copy embed code to clipboard', 'wpforms-lite' ); ?>">
<i class="fa fa-files-o" aria-hidden="true"></i>
</span>
</div>
</div>
<div id="wpforms-admin-form-embed-wizard-section-goback" class="wpforms-admin-popup-bottom" style="display: none;">
<p class="secondary">
<a href="#" class="wpforms-admin-popup-toggle initialstate-toggle">« <?php esc_html_e( 'Go back', 'wpforms-lite' ); ?></a>
</p>
</div>
</div>
<i class="fa fa-times wpforms-admin-popup-close"></i>
</div>
</div>

View File

@@ -0,0 +1,43 @@
<?php
/**
* Form Embed Wizard.
* Embed page tooltip HTML template.
*
* @since 1.6.2
*/
if ( ! \defined( 'ABSPATH' ) ) {
exit;
}
?>
<div class="wpforms-admin-form-embed-wizard-tooltip">
<div id="wpforms-admin-form-embed-wizard-tooltip-content">
<?php if ( wpforms_is_gutenberg_active() ) : // Gutenberg content. ?>
<h3><?php esc_html_e( 'Add a Block', 'wpforms-lite' ); ?></h3>
<p>
<?php
printf(
wp_kses( /* translators: %s - link to the WPForms documentation page. */
__( 'Click the plus button, search for WPForms, click the block to<br>embed it. <a href="%s" target="_blank" rel="noopener noreferrer">Learn More</a>.', 'wpforms-lite' ),
[
'a' => [
'href' => [],
'rel' => [],
'target' => [],
],
'br' => [],
]
),
'https://wpforms.com/docs/creating-first-form/#display-form'
);
?>
</p>
<i class="wpforms-admin-form-embed-wizard-tooltips-red-arrow"></i>
<?php else : ?>
<h3><?php esc_html_e( 'Embed in a Page', 'wpforms-lite' ); ?></h3>
<p><?php esc_html_e( 'Click the “Add Form” button, select your form, then add the embed code.', 'wpforms-lite' ); ?></p>
<?php endif; ?>
<button type="button" class="wpforms-admin-form-embed-wizard-done-btn"><?php esc_html_e( 'Done', 'wpforms-lite' ); ?></button>
</div>
</div>

View File

@@ -0,0 +1,42 @@
<?php
/**
* Bulk Edit Tags on forms overview page.
*
* @since 1.7.5
*
* @var int $columns Columns count.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<tr class="wpforms-bulk-edit-tags wpforms-row-form wpforms-hidden">
<td colspan="<?php echo absint( $columns ); ?>">
<div class="wpforms-fbox">
<div class="wpforms-edit-forms">
<select multiple size="6"></select>
</div>
<div class="wpforms-edit-tags">
<select multiple size="1"></select>
</div>
</div>
</td>
</tr>
<tr class="wpforms-bulk-edit-tags wpforms-row-buttons wpforms-hidden">
<td colspan="<?php echo absint( $columns ); ?>">
<button type="button" class="button wpforms-bulk-edit-tags-cancel">
<?php esc_html_e( 'Cancel', 'wpforms-lite' ); ?>
</button>
<button type="button" class="button button-primary wpforms-bulk-edit-tags-save">
<i class="wpforms-loading-spinner wpforms-loading-white wpforms-loading-inline wpforms-hidden"></i>
<?php esc_html_e( 'Update', 'wpforms-lite' ); ?>
</button>
</td>
</tr>
<tr class="wpforms-bulk-edit-tags wpforms-row-message wpforms-hidden">
<td colspan="<?php echo absint( $columns ); ?>">
<div class="wpforms-message"></div>
</td>
</tr>

View File

@@ -0,0 +1,27 @@
<?php
/**
* Search box on forms overview page.
*
* @since 1.7.2
*
* @var string $term_input_id Term input id.
* @var string $text Button text.
* @var string $search_term Current search term.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<p class="search-box wpforms-forms-search-box">
<label class="screen-reader-text" for="<?php echo esc_attr( $term_input_id ); ?>"><?php echo esc_html( $text ); ?>:</label>
<input type="search"
name="search[term]"
class="wpforms-forms-search-box-term"
value="<?php echo esc_attr( $search_term ); ?>"
id="<?php echo esc_attr( $term_input_id ); ?>">
<button type="submit" class="button"><?php echo esc_html( $text ); ?></button>
</p>

View File

@@ -0,0 +1,26 @@
<?php
/**
* Search reset block on forms overview page.
*
* @since 1.7.2
*
* @var string $message Message to display inside the Search reset block.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div id="wpforms-reset-filter">
<?php
echo wp_kses(
$message,
[
'strong' => [],
'em' => [],
]
);
?>
<i class="reset fa fa-times-circle" title="<?php esc_html_e( 'Clear search and return to All Forms', 'wpforms-lite' ); ?>"></i>
</div>

View File

@@ -0,0 +1,50 @@
<?php
/**
* Admin Notifications template.
*
* @since 1.7.5
*
* @var array $notifications
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div id="wpforms-notifications">
<div class="wpforms-notifications-header">
<div class="wpforms-notifications-bell">
<svg width="15" height="17" aria-hidden="true">
<path d="M7.68 16.56c1.14 0 2.04-.95 2.04-2.17h-4.1c0 1.22.9 2.17 2.06 2.17Zm6.96-5.06c-.62-.71-1.81-1.76-1.81-5.26A5.32 5.32 0 0 0 8.69.97H6.65A5.32 5.32 0 0 0 2.5 6.24c0 3.5-1.2 4.55-1.81 5.26a.9.9 0 0 0-.26.72c0 .57.39 1.08 1.04 1.08h12.38c.65 0 1.04-.5 1.07-1.08 0-.24-.1-.51-.3-.72Z"/>
</svg>
<span class="wpforms-notifications-circle"></span>
</div>
<div class="wpforms-notifications-title"><?php esc_html_e( 'Notifications', 'wpforms-lite' ); ?></div>
</div>
<div class="wpforms-notifications-body">
<a class="dismiss" title="<?php esc_attr_e( 'Dismiss this message', 'wpforms-lite' ); ?>">
<svg viewBox="0 0 512 512" aria-hidden="true">
<path d="M256 8a248 248 0 1 0 0 496 248 248 0 0 0 0-496zm122 313c4 5 4 12 0 17l-40 40c-5 4-12 4-17 0l-65-66-65 66c-5 4-12 4-17 0l-40-40c-4-5-4-12 0-17l66-65-66-65c-4-5-4-12 0-17l40-40c5-4 12-4 17 0l65 66 65-66c5-4 12-4 17 0l40 40c4 5 4 12 0 17l-66 65 66 65z"/>
</svg>
</a>
<?php if ( (int) $notifications['count'] > 1 ) : ?>
<div class="navigation">
<a class="prev">
<span class="screen-reader-text"><?php esc_attr_e( 'Previous message', 'wpforms-lite' ); ?></span>
<span aria-hidden="true">&lsaquo;</span>
</a>
<a class="next">
<span class="screen-reader-text"><?php esc_attr_e( 'Next message', 'wpforms-lite' ); ?></span>
<span aria-hidden="true">&rsaquo;</span>
</a>
</div>
<?php endif; ?>
<div class="wpforms-notifications-messages">
<?php echo $notifications['html']; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
</div>
</div>
</div>

View File

@@ -0,0 +1,139 @@
<?php
/**
* Constant Contact page template.
*
* @var string $sign_up_link Sign up link.
* @var string $wpbeginners_guide_link Link to a WPBeginners blog post.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div class="wrap wpforms-admin-wrap wpforms-constant-contact-wrap">
<h1 class="page-title"><?php esc_html_e( 'Constant Contact', 'wpforms-lite' ); ?></h1>
<div class="wpforms-admin-content">
<h2><?php esc_html_e( 'Grow Your Website with WPForms + Email Marketing', 'wpforms-lite' ); ?></h2>
<p><?php esc_html_e( 'Wondering if email marketing is really worth your time?', 'wpforms-lite' ); ?></p>
<p>
<?php
echo wp_kses(
__( 'Email is hands-down the most effective way to nurture leads and turn them into customers, with a return on investment (ROI) of <strong>$44 back for every $1 spent</strong> according to DMA.', 'wpforms-lite' ),
[ 'strong' => [] ]
);
?>
</p>
<p><?php esc_html_e( 'Here are 3 big reasons why every smart business in the world has an email list:', 'wpforms-lite' ); ?></p>
<a href="<?php echo esc_url( $sign_up_link ); ?>" target="_blank" rel="noopener noreferrer" class="logo-link">
<?php
printf(
'<img src="%s" srcset="%s 2x" alt="" class="logo">',
esc_url( WPFORMS_PLUGIN_URL . 'assets/images/constant-contact/cc-about-logo.png' ),
esc_url( WPFORMS_PLUGIN_URL . 'assets/images/constant-contact/cc-about-logo@2x.png' )
);
?>
</a>
<ol class="reasons">
<li>
<?php
echo wp_kses(
__( '<strong>Email is still #1</strong> - At least 91% of consumers check their email on a daily basis. You get direct access to your subscribers, without having to play by social media\'s rules and algorithms.', 'wpforms-lite' ),
[ 'strong' => [] ]
);
?>
</li>
<li>
<?php
echo wp_kses(
__( '<strong>You own your email list</strong> - Unlike with social media, your list is your property and no one can revoke your access to it.', 'wpforms-lite' ),
[ 'strong' => [] ]
);
?>
</li>
<li>
<?php
echo wp_kses(
__( '<strong>Email converts</strong> - People who buy products marketed through email spend 138% more than those who don\'t receive email offers.', 'wpforms-lite' ),
[ 'strong' => [] ]
);
?>
</li>
</ol>
<p><?php esc_html_e( 'That\'s why it\'s crucial to start collecting email addresses and building your list as soon as possible.', 'wpforms-lite' ); ?></p>
<p>
<?php
echo sprintf(
wp_kses( /* translators: %s - WPBeginners.com Guide to Email Lists URL. */
__( 'For more details, see this guide on <a href="%s" target="_blank" rel="noopener noreferrer">why building your email list is so important</a>.', 'wpforms-lite' ),
[
'a' => [
'href' => [],
'target' => [],
'rel' => [],
],
]
),
esc_url( $wpbeginners_guide_link )
);
?>
</p>
<hr/>
<h2><?php esc_html_e( 'You\'ve Already Started - Here\'s the Next Step (It\'s Easy)', 'wpforms-lite' ); ?></h2>
<p><?php esc_html_e( 'Here are the 3 things you need to build an email list:', 'wpforms-lite' ); ?></p>
<ol>
<li><?php esc_html_e( 'A Website or Blog', 'wpforms-lite' ); ?> <span class="dashicons dashicons-yes"></span></li>
<li><?php esc_html_e( 'High-Converting Form Builder', 'wpforms-lite' ); ?> <span class="dashicons dashicons-yes"></span></li>
<li class="bold-marker"><strong><?php esc_html_e( 'The Best Email Marketing Service', 'wpforms-lite' ); ?></strong></li>
</ol>
<p><?php esc_html_e( 'With a powerful email marketing service like Constant Contact, you can instantly send out mass notifications and beautifully designed newsletters to engage your subscribers.', 'wpforms-lite' ); ?></p>
<p>
<a href="<?php echo esc_url( $sign_up_link ); ?>" class="button" target="_blank" rel="noopener noreferrer">
<?php esc_html_e( 'Get Started with Constant Contact for Free', 'wpforms-lite' ); ?>
</a>
</p>
<p><?php esc_html_e( 'WPForms plugin makes it fast and easy to capture all kinds of visitor information right from your WordPress site - even if you don\'t have a Constant Contact account.', 'wpforms-lite' ); ?></p>
<p><?php esc_html_e( 'But when you combine WPForms with Constant Contact, you can nurture your contacts and engage with them even after they leave your website. When you use Constant Contact + WPForms together, you can:', 'wpforms-lite' ); ?></p>
<ul>
<li><?php esc_html_e( 'Seamlessly add new contacts to your email list', 'wpforms-lite' ); ?></li>
<li><?php esc_html_e( 'Create and send professional email newsletters', 'wpforms-lite' ); ?></li>
<li><?php esc_html_e( 'Get expert marketing and support', 'wpforms-lite' ); ?></li>
</ul>
<p>
<a href="<?php echo esc_url( $sign_up_link ); ?>" target="_blank" rel="noopener noreferrer">
<strong><?php esc_html_e( 'Try Constant Contact Today', 'wpforms-lite' ); ?></strong>
</a>
</p>
<hr/>
<h2><?php esc_html_e( 'WPForms Makes List Building Easy', 'wpforms-lite' ); ?></h2>
<p><?php esc_html_e( 'When creating WPForms, our goal was to make a WordPress forms plugin that\'s both EASY and POWERFUL.', 'wpforms-lite' ); ?></p>
<p><?php esc_html_e( 'We made the form creation process extremely intuitive, so you can create a form to start capturing emails within 5 minutes or less.', 'wpforms-lite' ); ?></p>
<p><?php esc_html_e( 'Here\'s how it works.', 'wpforms-lite' ); ?></p>
<div class="steps">
<?php
foreach (
[
esc_html__( 'Select from our pre-built templates, or create a form from scratch.', 'wpforms-lite' ),
esc_html__( 'Drag and drop any field you want onto your signup form.', 'wpforms-lite' ),
esc_html__( 'Connect your Constant Contact email list.', 'wpforms-lite' ),
esc_html__( 'Add your new form to any post, page, or sidebar.', 'wpforms-lite' ),
] as $index => $item
) {
++ $index;
?>
<figure class="step">
<?php
printf(
'<div class="step-image-wrapper"><img src="%1$s" alt=""><a href="%1$s" class="hover" data-lity></a></div><figcaption>%2$d. %3$s</figcaption>',
esc_url( WPFORMS_PLUGIN_URL . 'assets/images/constant-contact/cc-about-step' . $index . '.png' ),
absint( $index ),
esc_html( $item )
);
?>
</figure>
<?php } ?>
</div>
<p><?php esc_html_e( 'It doesn\'t matter what kind of business you run, what kind of website you have, or what industry you are in - you need to start building your email list today.', 'wpforms-lite' ); ?></p>
<p><strong><?php esc_html_e( 'With Constant Contact + WPForms, growing your list is easy.', 'wpforms-lite' ); ?></strong></p>
</div>
</div>

View File

@@ -0,0 +1,27 @@
<?php
/**
* Display a hidden field for the purpose of form submission.
*
* @since 1.8.4
*
* @var string $name Name of the hidden field.
* @var array $value Value of the hidden field.
*/
defined( 'ABSPATH' ) || exit; // Exit if accessed directly.
// Leave early if no field name or value is provided.
if ( empty( $name ) || empty( $value ) ) {
return;
}
?>
<input
type="hidden"
name="<?php echo esc_attr( $name ); ?>"
value="<?php echo esc_attr( $value ); ?>"
/>
<?php
/* Omit closing PHP tag at the end of PHP files to avoid "headers already sent" issues. */

View File

@@ -0,0 +1,22 @@
<?php
/**
* Payments Overview Mode Toggle template.
*
* @since 1.8.2
*
* @var string $mode Current mode (live or test).
*/
defined( 'ABSPATH' ) || exit; // Exit if accessed directly.
?>
<span id="wpforms-payments-overview-mode-toggle" class="wpforms-toggle-control">
<input type="checkbox" id="wpforms-payments-mode-toggle" name="wpforms-payments-mode-toggle" value="1" <?php checked( $mode, 'test' ); ?>>
<label class="wpforms-toggle-control-icon" for="wpforms-payments-mode-toggle"></label>
<label
for="wpforms-payments-mode-toggle"
aria-label="<?php esc_attr_e( 'Toggle between live and test data', 'wpforms-lite' ); ?>"
>
<?php esc_html_e( 'Test Data', 'wpforms-lite' ); ?>
</label>
</span>

View File

@@ -0,0 +1,54 @@
<?php
/**
* Payments overview reports (summary metrics).
* i.e. Total Payments, Total Sales, etc.
*
* @since 1.8.2
*
* @var string $current The active stat card upon page load.
* @var array $statcards Payments report stat cards (clickable list-items).
*/
defined( 'ABSPATH' ) || exit; // Exit if accessed directly.
// Bail early, if stat cards are empty or not assigned.
if ( empty( $statcards ) ) {
return;
}
?>
<div role="menu" class="wpforms-payments-overview-reports" aria-orientation="horizontal" aria-label="<?php esc_attr_e( 'Payments report indicators', 'wpforms-lite' ); ?>" aria-describedby="wpforms-payments-overview-reports-helptext">
<p id="wpforms-payments-overview-reports-helptext" class="screen-reader-text">
<?php esc_html_e( 'List of data points available for filtering. Click a data point for a detailed report.', 'wpforms-lite' ); ?>
</p>
<ul class="wpforms-payments-overview-reports-legend">
<?php
foreach ( $statcards as $chart => $attributes ) :
// Skip stat card, if it's not supposed to be displayed.
if ( isset( $attributes['condition'] ) && ! $attributes['condition'] ) {
continue;
}
$button_classes = ! empty( $attributes['button_classes'] ) ? (array) $attributes['button_classes'] : [];
// To highlight the stats being displayed in the chart at the moment, identify the selected stat card.
if ( $chart === $current ) {
$button_classes[] = 'is-selected';
}
?>
<li class="wpforms-payments-overview-reports-statcard">
<button class="<?php echo wpforms_sanitize_classes( $button_classes, true ); ?>" data-stats="<?php echo esc_attr( $chart ); ?>">
<span class="statcard-label"><?php echo esc_html( $attributes['label'] ); ?></span>
<span class="statcard-value"><?php echo ! empty( $attributes['value'] ) ? esc_html( $attributes['value'] ) : '0'; ?></span>
<span class="statcard-delta" role="presentation" title="<?php esc_attr_e( 'Comparison to previous period', 'wpforms-lite' ); ?>"><?php echo ! empty( $attributes['delta'] ) ? (int) $attributes['delta'] : ''; ?></span>
</button>
</li>
<?php endforeach; ?>
</ul>
</div>
<?php
/* Omit closing PHP tag at the end of PHP files to avoid "headers already sent" issues. */

View File

@@ -0,0 +1,65 @@
<?php
/**
* Display reset filter notice above the payment table.
*
* @since 1.8.4
*
* @var string $total Total number of payments.
* @var array $applied_filters Applied filters.
*/
defined( 'ABSPATH' ) || exit; // Exit if accessed directly.
// Leave early if no filters are applied.
if ( empty( $applied_filters ) ) {
return;
}
?>
<div id="wpforms-reset-filter" class="wpforms-reset-filter">
<?php
printf(
wp_kses( /* translators: %d - number of payments found. */
_n(
'Found <strong>%d payment</strong>',
'Found <strong>%d payments</strong>',
$total,
'wpforms-lite'
),
[
'strong' => [],
]
),
(int) $total
);
$is_more_than_one_filter = count( $applied_filters ) > 1;
$last_applied_filter = end( $applied_filters );
// Display applied filters in a safe way.
foreach ( $applied_filters as $filter ) :
// Skip empty filters with no results.
if ( empty( $filter['results'] ) ) {
continue;
}
echo wp_kses( $filter['results'], [ 'em' => [] ] );
?>
<a
class="reset fa fa-times-circle"
href="<?php echo esc_url( $filter['reset_url'] ); ?>"
title="<?php esc_attr_e( 'Reset search', 'wpforms-lite' ); ?>"
></a>
<?php
// Add "and" after the first filter if there are more than one and not the last one.
if ( $is_more_than_one_filter && $filter !== $last_applied_filter ) {
esc_html_e( 'and', 'wpforms-lite' );
}
endforeach;
?>
</div>
<?php
/* Omit closing PHP tag at the end of PHP files to avoid "headers already sent" issues. */

View File

@@ -0,0 +1,47 @@
<?php
/**
* Single Payment page - Advanced details template.
*
* @since 1.8.2
*
* @var array $details_list Details list.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div id="wpforms-payment-advanced-info" class="postbox">
<div class="postbox-header">
<h2 class="hndle">
<span><?php echo esc_html__( 'Advanced Details', 'wpforms-lite' ); ?></span>
</h2>
</div>
<div class="inside">
<?php
foreach ( $details_list as $item ) :
?>
<div class="wpforms-payment-advanced-item" >
<p class="wpforms-payment-advanced-item-label">
<?php echo esc_html( $item['label'] ); ?>
</p>
<div class="wpforms-payment-advanced-item-value">
<?php if ( isset( $item['link'] ) ) : ?>
<a href="<?php echo esc_url( $item['link'] ); ?>" target="_blank" rel="noopener noreferrer" class="wpforms-link">
<?php endif; ?>
<?php echo wp_kses_post( nl2br( make_clickable( $item['value'] ) ) ); ?>
<?php if ( isset( $item['link'] ) ) : ?>
</a>
<?php endif; ?>
</div>
</div>
<?php endforeach; ?>
</div>
</div>

View File

@@ -0,0 +1,85 @@
<?php
/**
* Single Payment page - Details metabox.
*
* @since 1.8.2
*
* @var object $payment Payment object.
* @var string $submitted Submitted date.
* @var string $gateway_name Gateway name.
* @var string $gateway_link Link to gateway payment details.
* @var string $form_edit_link Link to the builder.
* @var string $delete_link Link for a payment delete action.
* @var bool $test_mode Is payment in test mode.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div id="wpforms-payment-details" class="postbox">
<div class="postbox-header">
<h2 class="hndle">
<span><?php esc_html_e( 'Details', 'wpforms-lite' ); ?></span>
</h2>
</div>
<div class="inside">
<div class="wpforms-payment-details-meta">
<p class="wpforms-payment-date">
<span class="dashicons dashicons-calendar"></span>
<?php esc_html_e( 'Submitted:', 'wpforms-lite' ); ?>
<strong class="date-time">
<?php echo esc_html( $submitted ); ?>
</strong>
</p>
<p class="wpforms-payment-gateway">
<span class="dashicons dashicons-store"></span>
<?php esc_html_e( 'Gateway:', 'wpforms-lite' ); ?>
<a href="<?php echo esc_url( $gateway_link ); ?>" class="wpforms-link" target="_blank" rel="noopener noreferrer"><?php echo esc_html( $gateway_name ); ?></a>
</p>
<p class="wpforms-payment-form">
<span class="dashicons dashicons-wpforms"></span>
<?php
esc_html_e( 'Form:', 'wpforms-lite' );
// Output the form edit link, if available.
// The output could be a link or a span, depending on the availability of the form.
echo wp_kses(
$form_edit_link,
[
'a' => [
'href' => [],
'class' => [],
],
'span' => [ 'class' => [] ],
]
);
?>
</p>
<?php if ( $test_mode ) : ?>
<p class="wpforms-payment-test-mode">
<span class="dashicons dashicons-marker"></span>
<?php esc_html_e( 'Payment Mode:', 'wpforms-lite' ); ?>
<strong><?php esc_html_e( 'Test', 'wpforms-lite' ); ?></strong>
</p>
<?php endif; ?>
</div>
<div class="wpforms-payment-actions">
<div class="status"></div>
<div class="actions">
<a class="button button-large button-delete" href="<?php echo esc_url( $delete_link ); ?>">
<?php esc_html_e( 'Delete', 'wpforms-lite' ); ?>
</a>
</div>
<div class="clear"></div>
</div>
</div>
</div>

View File

@@ -0,0 +1,59 @@
<?php
/**
* Single Payment page - Payment details template for single and subscription data.
*
* @since 1.8.2
*
* @var array $entry_fields Entry object.
* @var array $form_data Form data.
* @var int $entry_id Entry ID.
* @var string $entry_id_title Entry title id.
* @var string $entry_url Entry page URL.
* @var string $entry_status Entry status.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div id="wpforms-payment-entry-fields" class="postbox">
<div class="postbox-header">
<h2 class="hndle">
<span><?php echo esc_html__( 'Entry Summary', 'wpforms-lite' ); ?></span>
<?php if ( ! empty( $entry_id_title ) ) : ?>
<span class="wpforms-payment-entry-id"><?php echo esc_html( $entry_id_title ); ?></span>
<?php endif; ?>
</h2>
</div>
<div class="inside">
<?php foreach ( $entry_fields as $key => $field ) : ?>
<div class="wpforms-payment-entry-field <?php echo wpforms_sanitize_classes( $field['field_class'] ); ?>" >
<p class="wpforms-payment-entry-field-name">
<?php echo esc_html( wp_strip_all_tags( $field['field_name'] ) ); ?>
</p>
<div class="wpforms-payment-entry-field-value">
<?php echo wp_kses_post( nl2br( make_clickable( $field['field_value'] ) ) ); ?>
</div>
</div>
<?php endforeach; ?>
</div>
<?php if ( $entry_id_title && $entry_status !== 'trash' ) : ?>
<div class="wpforms-payment-actions">
<div class="status"></div>
<div class="actions">
<a class="button" href="<?php echo esc_url( $entry_url ); ?>">
<?php echo esc_html__( 'View Entry', 'wpforms-lite' ); ?>
</a>
<div class="clear"></div>
</div>
</div>
<?php endif; ?>
</div>

View File

@@ -0,0 +1,59 @@
<?php
/**
* Single Payment page - Heading navigation.
*
* @since 1.8.2
*
* @var int $count Count of all payments.
* @var int $prev_count Count of previous payments.
* @var string $prev_url Previous payment URL.
* @var string $prev_class Previous payment class.
* @var string $next_url Next payment URL.
* @var string $next_class Next payment class.
* @var string $overview_url Payments Overview page URL.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<a href="<?php echo esc_url( $overview_url ); ?>" class="page-title-action wpforms-btn wpforms-btn-orange" data-action="back">
<svg viewBox="0 0 16 14" class="page-title-action-icon">
<path d="M16 6v2H4l4 4-1 2-7-7 7-7 1 2-4 4h12Z"/>
</svg>
<span class="page-title-action-text"><?php esc_html_e( 'Back to All Payments', 'wpforms-lite' ); ?></span>
</a>
<div class="wpforms-admin-single-navigation">
<div class="wpforms-admin-single-navigation-text">
<?php
printf( /* translators: %1$d - current number of payment, %2$d - total number of payments. */
esc_html__( 'Payment %1$d of %2$d', 'wpforms-lite' ),
(int) $prev_count + 1,
(int) $count
);
?>
</div>
<div class="wpforms-admin-single-navigation-buttons">
<a
href="<?php echo esc_url( $prev_url ); ?>"
title="<?php esc_attr_e( 'Previous payment', 'wpforms-lite' ); ?>"
id="wpforms-admin-single-navigation-prev-link"
class="wpforms-btn-grey <?php echo sanitize_html_class( $prev_class ); ?>">
<span class="dashicons dashicons-arrow-left-alt2"></span>
</a>
<span
class="wpforms-admin-single-navigation-current"
title="<?php esc_attr_e( 'Current payment', 'wpforms-lite' ); ?>">
<?php echo (int) $prev_count + 1; ?>
</span>
<a
href="<?php echo esc_url( $next_url ); ?>"
title="<?php esc_attr_e( 'Next payment', 'wpforms-lite' ); ?>"
id="wpforms-admin-single-navigation-next-link"
class="wpforms-btn-grey <?php echo sanitize_html_class( $next_class ); ?>">
<span class="dashicons dashicons-arrow-right-alt2"></span>
</a>
</div>
</div>

View File

@@ -0,0 +1,56 @@
<?php
/**
* Single Payment page - Log metabox.
*
* @since 1.8.2
*
* @var array $logs Logs.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div id="wpforms-payment-logs" class="postbox">
<div class="postbox-header">
<h2 class="hndle">
<span><?php esc_html_e( 'Log', 'wpforms-lite' ); ?></span>
</h2>
</div>
<div class="inside">
<?php if ( empty( $logs ) ) : ?>
<span class="wpforms-payment-no-logs"><?php esc_html_e( 'No Logs', 'wpforms-lite' ); ?></span>
<?php endif; ?>
<?php
foreach ( $logs as $log ) :
$item = json_decode( $log['value'], false );
$date_time = sprintf( /* translators: %1$s - date, %2$s - time when item was created, e.g. "Oct 22, 2022 at 11:11 am". */
__( '%1$s at %2$s', 'wpforms-lite' ),
wpforms_date_format( $item->date, 'M j, Y', true ),
wpforms_time_format( $item->date, '', true )
);
if ( empty( $item->value ) ) {
continue;
}
?>
<div class="wpforms-payment-log-item" >
<span class="wpforms-payment-log-item-value">
<?php echo esc_html( $item->value ); ?>
</span>
<span class="wpforms-payment-log-item-date">
<?php echo esc_html( $date_time ); ?>
</span>
</div>
<?php endforeach; ?>
</div>
</div>

View File

@@ -0,0 +1,27 @@
<?php
/**
* No template payment HTML template.
*
* @since 1.8.2
*
* @var string $message An abort message to display.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div class="wpforms-admin-empty-state-container wpforms-admin-no-payments">
<h2 class="waving-hand-emoji"><?php esc_html_e( 'Hi there!', 'wpforms-lite' ); ?></h2>
<p><?php echo esc_html( $message ); ?></p>
<img src="<?php echo esc_url( WPFORMS_PLUGIN_URL . 'assets/images/empty-states/payments/no-payments.svg' ); ?>" alt="" style="max-width: 314px;">
<a href="<?php echo esc_url( admin_url( 'admin.php?page=wpforms-payments' ) ); ?>" class="wpforms-btn wpforms-btn-lg wpforms-btn-orange">
<?php esc_html_e( 'Back to All Payments', 'wpforms-lite' ); ?>
</a>
</div>

View File

@@ -0,0 +1,83 @@
<?php
/**
* Single Payment page - Payment details template for single and subscription data.
*
* @since 1.8.2
*
* @var string $title Block title.
* @var string $payment_id Payment id.
* @var string $gateway_link Link to gateway payment details.
* @var string $gateway_text Gateway link text.
* @var string $gateway_name Gateway name.
* @var string $gateway_action_text Gateway action link text.
* @var string $gateway_action_link Gateway action link.
* @var string $gateway_action_slug Gateway action slug.
* @var int $payment_id_raw Payment id raw.
* @var string $status Payment or Subscription status.
* @var string $status_label Payment or Subscription status label.
* @var bool $disabled Is gateway action disabled.
* @var array $stat_cards Stat cards to display.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div id="wpforms-payment-info" class="postbox">
<div class="postbox-header">
<h2 class="hndle">
<span><?php echo esc_html( $title ); ?></span>
<?php if ( isset( $payment_id ) ) : ?>
<span class="wpforms-payment-id"><?php echo esc_html( $payment_id ); ?></span>
<?php endif; ?>
</h2>
</div>
<div class="inside">
<ul class="wpforms-payments-details-list">
<?php foreach ( $stat_cards as $key => $stat_card ) : ?>
<li class="wpforms-payments-details-stat-card">
<button class="<?php echo wpforms_sanitize_classes( $stat_card['button_classes'], true ); ?>" >
<span class="stat-card-label"><?php echo esc_html( $stat_card['label'] ); ?></span>
<span class="stat-card-value">
<?php echo ! empty( $stat_card['value'] ) ? esc_html( $stat_card['value'] ) : esc_html__( 'N/A', 'wpforms-lite' ); ?>
<?php if ( ! empty( $stat_card['tooltip'] ) ) : ?>
<i class="wpforms-single-payment-tooltip" data-tooltip-content="#wpforms-single-payment-tooltip-content-<?php echo esc_attr( $key ); ?>"></i>
<span id="wpforms-single-payment-tooltip-content-<?php echo esc_attr( $key ); ?>" class="wpforms-single-payment-tooltip-content"><?php echo wp_kses_post( $stat_card['tooltip'] ); ?></span>
<?php endif; ?>
</span>
</button>
</li>
<?php endforeach; ?>
</ul>
</div>
<div class="wpforms-payment-actions">
<div class="status">
<span class="wpforms-payment-action-status-label"><?php esc_html_e( 'Status:', 'wpforms-lite' ); ?></span>
<span class="wpforms-payment-action-status-value <?php echo esc_attr( $status ); ?>"><?php echo wp_kses( $status_label, [ 'span' => [] ] ); ?></span>
</div>
<?php if ( $gateway_link ) : ?>
<div class="actions">
<a href="<?php echo esc_url( $gateway_link ); ?>" class="link" target="_blank" rel="noopener noreferrer">
<?php echo esc_html( $gateway_text ); ?>
</a>
<?php if ( ! $disabled ) : ?>
<a href="<?php echo esc_url( $gateway_action_link ); ?>"
class="button wpforms-payments-single-action"
target="_blank"
rel="noopener noreferrer"
id="wpforms-payments-single-<?php echo esc_attr( $gateway_action_slug ); ?>"
data-action-id="<?php echo esc_attr( $payment_id_raw ); ?>"
data-gateway="<?php echo esc_attr( $gateway_name ); ?>"
data-action-type="<?php echo esc_attr( $gateway_action_slug ); ?>">
<?php echo esc_html( $gateway_action_text ); ?>
</a>
<?php endif; ?>
</div>
<?php endif; ?>
<div class="clear"></div>
</div>
</div>

View File

@@ -0,0 +1,66 @@
<?php
/**
* Single Payment page - Display a table outlining the subscription payment history.
*
* @since 1.8.4
*
* @var string $title Table heading.
* @var array $renewals Renewal payments data.
* @var array $types Payment types.
* @var array $statuses Payment statuses.
* @var string $placeholder_na_text Placeholder text. Display "N\A" if empty.
* @var string $single_url Single payment URL. Note that payment ID will be appended to this URL.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div class="postbox">
<div class="postbox-header">
<h2 class="hndle">
<span><?php echo esc_html( $title ); ?></span>
</h2>
</div>
<table class="wpforms-subscription-payment-history" role="table" aria-label="<?php esc_attr_e( 'Subscription Renewal History Table', 'wpforms-lite' ); ?>">
<thead>
<tr>
<th scope="col"><?php esc_html_e( 'Payment ID', 'wpforms-lite' ); ?></th>
<th scope="col"><?php esc_html_e( 'Date', 'wpforms-lite' ); ?></th>
<th scope="col"><?php esc_html_e( 'Type', 'wpforms-lite' ); ?></th>
<th scope="col"><?php esc_html_e( 'Total', 'wpforms-lite' ); ?></th>
<th scope="col"><?php esc_html_e( 'Status', 'wpforms-lite' ); ?></th>
</thead>
<tbody>
<?php
foreach ( $renewals as $renewal ) :
// phpcs:ignore WordPress.Security.NonceVerification.Recommended, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
$is_current = isset( $_GET['payment_id'] ) && $renewal->id === wp_unslash( $_GET['payment_id'] );
?>
<tr class="<?php echo $is_current ? sanitize_html_class( 'current' ) : ''; ?>">
<td data-title="<?php esc_attr_e( 'Payment ID', 'wpforms-lite' ); ?>">
<a href="<?php echo esc_url( add_query_arg( [ 'payment_id' => $renewal->id ], $single_url ) ); ?>">
<?php echo esc_html( $renewal->id ); ?>
</a>
</td>
<td data-title="<?php esc_attr_e( 'Date', 'wpforms-lite' ); ?>">
<?php echo wpforms_datetime_format( $renewal->date_created_gmt, 'M j, Y', true ); ?>
</td>
<td data-title="<?php esc_attr_e( 'Type', 'wpforms-lite' ); ?>">
<?php echo esc_html( isset( $types[ $renewal->type ] ) ? $renewal->type : $placeholder_na_text ); ?>
</td>
<td data-title="<?php esc_attr_e( 'Total', 'wpforms-lite' ); ?>">
<?php echo wpforms_format_amount( wpforms_sanitize_amount( $renewal->total_amount, $renewal->currency ), true, $renewal->currency ); ?>
</td>
<td data-title="<?php esc_attr_e( 'Status', 'wpforms-lite' ); ?>">
<?php echo esc_html( $statuses[ $renewal->status ] ); ?>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
<?php
/* Omit closing PHP tag at the end of PHP files to avoid "headers already sent" issues. */

View File

@@ -0,0 +1,33 @@
<?php
/**
* Display a multiselect field for filtering the payments overview table.
*
* @since 1.8.4
*
* @var string $name Name of the select field.
* @var array $options Select field options.
* @var array $selected Array of selected options.
* @var array $data_settings Data settings for the multiselect JS instance.
*/
defined( 'ABSPATH' ) || exit; // Exit if accessed directly.
// Leave early if no filters are provided.
if ( empty( $options ) ) {
return '';
}
?>
<select
multiple
class="wpforms-multiselect wpforms-hide"
name="<?php echo esc_attr( $name ); ?>"
placeholder="<?php echo esc_attr( $data_settings['i18n']['all'] ); ?>"
data-settings="<?php echo esc_attr( wp_json_encode( $data_settings ) ); ?>"
>
<?php foreach ( $options as $key => $label ) : ?>
<option value="<?php echo esc_attr( $key ); ?>" <?php selected( true, in_array( $key, $selected, true ) ); ?>>
<?php echo esc_html( $label ); ?>
</option>
<?php endforeach; ?>
</select>

View File

@@ -0,0 +1,38 @@
<?php
/**
* Display extra filters for the payment table.
*
* @since 1.8.4
*
* @var string $filters Tablenav filters.
*/
defined( 'ABSPATH' ) || exit; // Exit if accessed directly.
// Leave early if no filters are provided.
if ( empty( $filters ) ) {
return;
}
// Allowed HTML tags, and attributes for the filters.
$allowed_filters_attributes = [
'select' => [
'name' => [],
'class' => [],
'multiple' => [],
'placeholder' => [],
'data-settings' => [],
],
'option' => [
'value' => [],
'selected' => [],
],
];
?>
<div class="wpforms-tablenav-filters">
<?php echo wp_kses( $filters, $allowed_filters_attributes ); ?>
<input type="submit" class="button" value="<?php esc_attr_e( 'Filter', 'wpforms-lite' ); ?>">
</div>
<?php
/* Omit closing PHP tag at the end of PHP files to avoid "headers already sent" issues. */

View File

@@ -0,0 +1,82 @@
<?php
/**
* Footer promotion template.
*
* @since 1.8.0
*
* @var string $title
* @var array $links
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
$links_count = count( $links );
?>
<div class="wpforms-footer-promotion">
<p><?php echo esc_html( $title ); ?></p>
<ul class="wpforms-footer-promotion-links">
<?php foreach ( $links as $key => $item ) : ?>
<li>
<?php
$attributes = [
'href' => esc_url( $item['url'] ),
'target' => isset( $item['target'] ) ? $item['target'] : false,
'rel' => isset( $item['target'] ) ? 'noopener noreferrer' : false,
];
printf(
'<a %1s>%2$s</a>%3$s',
wpforms_html_attributes( '', [], [], $attributes, false ),
esc_html( $item['text'] ),
$links_count === $key + 1 ? '' : '<span>/</span>'
);
?>
</li>
<?php endforeach; ?>
</ul>
<ul class="wpforms-footer-promotion-social">
<li>
<a href="https://www.facebook.com/wpforms" target="_blank" rel="noopener noreferrer">
<svg width="16" height="16" aria-hidden="true">
<path fill="#A7AAAD" d="M16 8.05A8.02 8.02 0 0 0 8 0C3.58 0 0 3.6 0 8.05A8 8 0 0 0 6.74 16v-5.61H4.71V8.05h2.03V6.3c0-2.02 1.2-3.15 3-3.15.9 0 1.8.16 1.8.16v1.98h-1c-1 0-1.31.62-1.31 1.27v1.49h2.22l-.35 2.34H9.23V16A8.02 8.02 0 0 0 16 8.05Z"/>
</svg>
<span class="screen-reader-text"><?php echo esc_html( 'Facebook' ); ?></span>
</a>
</li>
<li>
<a href="https://www.instagram.com/wpforms/" target="_blank" rel="noopener noreferrer">
<svg width="16" height="16" aria-hidden="true">
<path fill="#A7AAAD" d="M8.016 4.39c-2 0-3.594 1.626-3.594 3.594 0 2 1.594 3.594 3.594 3.594a3.594 3.594 0 0 0 3.593-3.594c0-1.968-1.625-3.593-3.593-3.593Zm0 5.938a2.34 2.34 0 0 1-2.344-2.344c0-1.28 1.031-2.312 2.344-2.312a2.307 2.307 0 0 1 2.312 2.312c0 1.313-1.031 2.344-2.312 2.344Zm4.562-6.062a.84.84 0 0 0-.844-.844.84.84 0 0 0-.843.844.84.84 0 0 0 .843.843.84.84 0 0 0 .844-.843Zm2.375.843c-.062-1.125-.312-2.125-1.125-2.937-.812-.813-1.812-1.063-2.937-1.125-1.157-.063-4.625-.063-5.782 0-1.125.062-2.093.312-2.937 1.125-.813.812-1.063 1.812-1.125 2.937-.063 1.157-.063 4.625 0 5.782.062 1.125.312 2.093 1.125 2.937.844.813 1.812 1.063 2.937 1.125 1.157.063 4.625.063 5.782 0 1.125-.062 2.125-.312 2.937-1.125.813-.844 1.063-1.812 1.125-2.937.063-1.157.063-4.625 0-5.782Zm-1.5 7c-.219.625-.719 1.094-1.312 1.344-.938.375-3.125.281-4.125.281-1.032 0-3.22.094-4.125-.28a2.37 2.37 0 0 1-1.344-1.345c-.375-.906-.281-3.093-.281-4.125 0-1-.094-3.187.28-4.125a2.41 2.41 0 0 1 1.345-1.312c.906-.375 3.093-.281 4.125-.281 1 0 3.187-.094 4.125.28.593.22 1.062.72 1.312 1.313.375.938.281 3.125.281 4.125 0 1.032.094 3.22-.28 4.125Z"/>
</svg>
<span class="screen-reader-text"><?php echo esc_html( 'Instagram' ); ?></span>
</a>
</li>
<li>
<a href="https://www.linkedin.com/company/wpforms/" target="_blank" rel="noopener noreferrer">
<svg width="16" height="16" aria-hidden="true">
<path fill="#A7AAAD" d="M14 1H1.97C1.44 1 1 1.47 1 2.03V14c0 .56.44 1 .97 1H14a1 1 0 0 0 1-1V2.03C15 1.47 14.53 1 14 1ZM5.22 13H3.16V6.34h2.06V13ZM4.19 5.4a1.2 1.2 0 0 1-1.22-1.18C2.97 3.56 3.5 3 4.19 3c.65 0 1.18.56 1.18 1.22 0 .66-.53 1.19-1.18 1.19ZM13 13h-2.1V9.75C10.9 9 10.9 8 9.85 8c-1.1 0-1.25.84-1.25 1.72V13H6.53V6.34H8.5v.91h.03a2.2 2.2 0 0 1 1.97-1.1c2.1 0 2.5 1.41 2.5 3.2V13Z"/>
</svg>
<span class="screen-reader-text"><?php echo esc_html( 'LinkedIn' ); ?></span>
</a>
</li>
<li>
<a href="https://twitter.com/easywpforms" target="_blank" rel="noopener noreferrer">
<svg width="17" height="16" aria-hidden="true">
<path fill="#A7AAAD" d="M15.27 4.43A7.4 7.4 0 0 0 17 2.63c-.6.27-1.3.47-2 .53a3.41 3.41 0 0 0 1.53-1.93c-.66.4-1.43.7-2.2.87a3.5 3.5 0 0 0-5.96 3.2 10.14 10.14 0 0 1-7.2-3.67C.86 2.13.7 2.73.7 3.4c0 1.2.6 2.26 1.56 2.89a3.68 3.68 0 0 1-1.6-.43v.03c0 1.7 1.2 3.1 2.8 3.43-.27.06-.6.13-.9.13a3.7 3.7 0 0 1-.66-.07 3.48 3.48 0 0 0 3.26 2.43A7.05 7.05 0 0 1 0 13.24a9.73 9.73 0 0 0 5.36 1.57c6.42 0 9.91-5.3 9.91-9.92v-.46Z"/>
</svg>
<span class="screen-reader-text"><?php echo esc_html( 'Twitter' ); ?></span>
</a>
</li>
<li>
<a href="https://www.youtube.com/c/Wpformsplugin" target="_blank" rel="noopener noreferrer">
<svg width="17" height="16" aria-hidden="true">
<path fill="#A7AAAD" d="M16.63 3.9a2.12 2.12 0 0 0-1.5-1.52C13.8 2 8.53 2 8.53 2s-5.32 0-6.66.38c-.71.18-1.3.78-1.49 1.53C0 5.2 0 8.03 0 8.03s0 2.78.37 4.13c.19.75.78 1.3 1.5 1.5C3.2 14 8.51 14 8.51 14s5.28 0 6.62-.34c.71-.2 1.3-.75 1.49-1.5.37-1.35.37-4.13.37-4.13s0-2.81-.37-4.12Zm-9.85 6.66V5.5l4.4 2.53-4.4 2.53Z"/>
</svg>
<span class="screen-reader-text"><?php echo esc_html( 'YouTube' ); ?></span>
</a>
</li>
</ul>
</div>

View File

@@ -0,0 +1,23 @@
<?php
/**
* Display Email settings heading.
*
* @since 1.8.5
*/
defined( 'ABSPATH' ) || exit; // Exit if accessed directly.
?>
<h4>
<?php esc_html_e( 'Email', 'wpforms-lite' ); ?>
</h4>
<p>
<?php esc_html_e( 'Customize your email template and sending preferences.', 'wpforms-lite' ); ?>
</p>
<?php
// phpcs:disable WordPress.Security.EscapeOutput.OutputNotEscaped
echo wpforms()->get( 'education_smtp_notice' )->get_template();
/* Omit closing PHP tag at the end of PHP files to avoid "headers already sent" issues. */

View File

@@ -0,0 +1,29 @@
<?php
/**
* Description template for hCaptcha.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<p><?php esc_html_e( "hCaptcha is a free and privacy-oriented spam prevention service. Within your forms, hCaptcha will display a checkbox asking users to prove they're human (much like Google's v2 Checkbox reCAPTCHA). This is a simple step for legitimate site visitors, but is extremely effective at blocking spam.", 'wpforms-lite' ); ?></p>
<p>
<?php
printf(
wp_kses( /* translators: %s - WPForms.com Setup hCaptcha URL. */
__( 'For more details on how hCaptcha works, as well as a step by step setup guide, please check out our <a href="%s" target="_blank" rel="noopener noreferrer">documentation</a>.', 'wpforms-lite' ),
[
'a' => [
'href' => [],
'target' => [],
'rel' => [],
],
]
),
esc_url( wpforms_utm_link( 'https://wpforms.com/docs/how-to-set-up-and-use-hcaptcha-in-wpforms/', 'Settings - Captcha', 'hCaptcha Documentation' ) )
);
?>
</p>

View File

@@ -0,0 +1,57 @@
<?php
/**
* Description template for reCAPTCHA.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<p class="wpforms-strong"><?php esc_html_e( 'reCAPTCHA is a free anti-spam service from Google which helps to protect your website from spam and abuse while letting real people pass through with ease.', 'wpforms-lite' ); ?></p>
<p><?php esc_html_e( 'Google offers 3 versions of reCAPTCHA (all supported within WPForms):', 'wpforms-lite' ); ?></p>
<ul style="list-style: disc;margin-left: 20px;">
<li>
<?php
echo wp_kses(
__( '<strong>v2 Checkbox reCAPTCHA</strong>: Prompts users to check a box to prove they\'re human.', 'wpforms-lite' ),
[ 'strong' => [] ]
);
?>
</li>
<li>
<?php
echo wp_kses(
__( '<strong>v2 Invisible reCAPTCHA</strong>: Uses advanced technology to detect real users without requiring any input.', 'wpforms-lite' ),
[ 'strong' => [] ]
);
?>
</li>
<li>
<?php
echo wp_kses(
__( '<strong>v3 reCAPTCHA</strong>: Uses a behind-the-scenes scoring system to detect abusive traffic, and lets you decide the minimum passing score. Recommended for advanced use only (or if using Google AMP).', 'wpforms-lite' ),
[ 'strong' => [] ]
);
?>
</li>
</ul>
<p><?php esc_html_e( 'Sites already using one type of reCAPTCHA will need to create new site keys before switching to a different option.', 'wpforms-lite' ); ?></p>
<p>
<?php
printf(
wp_kses( /* translators: %s - WPForms.com Setup reCAPTCHA URL. */
__( '<a href="%s" target="_blank" rel="noopener noreferrer">Read our walk through</a> to learn more and for step-by-step directions.', 'wpforms-lite' ),
[
'a' => [
'href' => [],
'target' => [],
'rel' => [],
],
]
),
esc_url( wpforms_utm_link( 'https://wpforms.com/docs/how-to-set-up-and-use-recaptcha-in-wpforms/', 'Settings - Captcha', 'reCAPTCHA Documentation' ) )
);
?>
</p>

View File

@@ -0,0 +1,25 @@
<?php
/**
* Specific note template.
*
* @since 1.8.4
*
* @var string $content
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div class="wpforms-specific-note-wrap">
<div class="wpforms-specific-note-lightbulb">
<svg viewBox="0 0 14 20">
<path d="M3.75 17.97c0 .12 0 .23.08.35l.97 1.4c.12.2.32.28.51.28H8.4c.2 0 .39-.08.5-.27l.98-1.41c.04-.12.08-.23.08-.35v-1.72H3.75v1.72Zm3.13-5.47c.66 0 1.25-.55 1.25-1.25 0-.66-.6-1.25-1.26-1.25-.7 0-1.25.59-1.25 1.25 0 .7.55 1.25 1.25 1.25Zm0-12.5A6.83 6.83 0 0 0 0 6.88c0 1.75.63 3.32 1.68 4.53.66.74 1.68 2.3 2.03 3.59H5.6c0-.16 0-.35-.08-.55-.2-.7-.86-2.5-2.42-4.25a5.19 5.19 0 0 1-1.21-3.32c-.04-2.86 2.3-5 5-5 2.73 0 5 2.26 5 5 0 1.2-.47 2.38-1.26 3.32a11.72 11.72 0 0 0-2.42 4.25c-.07.2-.07.35-.07.55H10a10.56 10.56 0 0 1 2.03-3.6A6.85 6.85 0 0 0 6.88 0Zm-.4 8.75h.75c.3 0 .58-.23.62-.55l.5-3.75a.66.66 0 0 0-.62-.7H5.98a.66.66 0 0 0-.63.7l.5 3.75c.05.32.32.55.63.55Z"/>
</svg>
</div>
<div class="wpforms-specific-note-content">
<?php echo $content; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
</div>
</div>

View File

@@ -0,0 +1,29 @@
<?php
/**
* Description template for Turnstile.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<p><?php esc_html_e( 'Cloudflare Turnstile is a free, CAPTCHA-like service for preventing form spam while protecting data privacy. It offers a user-friendly experience by confirming visitors are real humans without requiring them to solve puzzles or math questions.', 'wpforms-lite' ); ?></p>
<p>
<?php
printf(
wp_kses( /* translators: %s - WPForms.com Setup Cloudflare Turnstile URL. */
__( 'For more details on how Turnstile works, as well as a step by step setup guide, please check out our <a href="%s" target="_blank" rel="noopener noreferrer">documentation</a>.', 'wpforms-lite' ),
[
'a' => [
'href' => [],
'target' => [],
'rel' => [],
],
]
),
esc_url( wpforms_utm_link( 'https://wpforms.com/docs/setting-up-cloudflare-turnstile/', 'Settings - Captcha', 'Turnstile Documentation' ) )
);
?>
</p>

View File

@@ -0,0 +1,44 @@
<?php
/**
* Also Available block.
*
* @since 1.7.8
*
* @var array $blocks All educational content blocks.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div class="wpforms-panel-content-also-available">
<?php
foreach ( $blocks as $key => $block ) :
if ( empty( $block['show'] ) ) {
continue;
}
$slug = strtolower( $key );
$class = ! empty( $block['class'] ) ? $block['class'] : '';
?>
<div class="wpforms-panel-content-also-available-item <?php echo sanitize_html_class( "wpforms-panel-content-also-available-item-{$slug}" ); ?>">
<div class='wpforms-panel-content-also-available-item-logo'>
<img src="<?php echo esc_url( $block['logo'] ); ?>" alt="<?php echo esc_attr( $block['title'] ); ?>">
</div>
<div class='wpforms-panel-content-also-available-item-info'>
<h3><?php echo esc_html( $block['title'] ); ?></h3>
<p><?php echo esc_html( $block['description'] ); ?></p>
<a class="<?php echo sanitize_html_class( $class ); ?>"
href="<?php echo esc_url( $block['link'] ); ?>"
target="_blank"
rel="noopener noreferrer">
<?php echo esc_html( $block['link_text'] ); ?>
</a>
</div>
</div>
<?php endforeach; ?>
</div>

View File

@@ -0,0 +1,32 @@
<?php
/**
* Form Builder abort message screen template.
*
* @since 1.7.3
*
* @var string $message An abort message to display.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div id="wpforms-builder-abort-message" class="wpforms-fullscreen-notice wpforms-fullscreen-notice-light">
<h3 class="waving-hand-emoji"><?php esc_html_e( 'Hi there!', 'wpforms-lite' ); ?></h3>
<p><?php echo esc_html( $message ); ?></p>
<img src="<?php echo esc_url( WPFORMS_PLUGIN_URL . 'assets/images/empty-states/no-forms.svg' ); ?>" alt="">
<?php if ( wpforms_current_user_can( 'view_forms' ) ) : ?>
<div class="wpforms-fullscreen-notice-buttons">
<a href="<?php echo esc_url( admin_url( 'admin.php?page=wpforms-overview' ) ); ?>"
class="wpforms-fullscreen-notice-button wpforms-fullscreen-notice-button-primary">
<?php esc_html_e( 'Back to All Forms', 'wpforms-lite' ); ?>
</a>
</div>
<?php endif; ?>
</div>

View File

@@ -0,0 +1,44 @@
<?php
/**
* Form Builder IE / unsupported browser notice template.
*
* @since 1.7.8
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div id='wpforms-builder-ie-notice' class='wpforms-fullscreen-notice'>
<img src="<?php echo esc_url( WPFORMS_PLUGIN_URL . 'assets/images/builder/ie-logo.svg' ); ?>" alt='Internet Explorer &reg;'>
<h3><?php esc_html_e( 'You are using an outdated browser!', 'wpforms-lite' ); ?></h3>
<p>
<?php
printf(
wp_kses( /* translators: %1$s - link to the update Internet Explorer page, %2$s - link to the browse happy page. */
__( 'The Internet Explorer browser no more supported.<br>Our form builder is optimized for modern browsers.<br>Please <a href="%1$s" target="_blank" rel="nofollow noopener">install Microsoft Edge</a> or learn<br>how to <a href="%2$s" target="_blank" rel="nofollow noopener">browse happy</a>.', 'wpforms-lite' ),
[
'a' => [
'href' => [],
'target' => [],
'rel' => [],
],
'br' => [],
]
),
'https://www.microsoft.com/en-us/edge',
'https://browsehappy.com/'
);
?>
</p>
<div class="wpforms-fullscreen-notice-buttons">
<a href="<?php echo esc_url( wpforms_current_user_can( 'view_forms' ) ? admin_url( 'admin.php?page=wpforms-overview' ) : admin_url() ); ?>" class="wpforms-fullscreen-notice-button wpforms-fullscreen-notice-button-primary">
<?php esc_html_e( 'Back to All Forms', 'wpforms-lite' ); ?>
</a>
</div>
</div>

View File

@@ -0,0 +1,31 @@
<?php
/**
* Form Builder mobile / small screen notice template.
*
* @since 1.7.8
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div id='wpforms-builder-mobile-notice' class='wpforms-fullscreen-notice'>
<img src="<?php echo esc_url( WPFORMS_PLUGIN_URL . 'assets/images/sullie-builder-mobile.png' ); ?>" class='sullie-icon' alt="<?php esc_attr_e( 'Sullie the WPForms mascot', 'wpforms-lite' ); ?>">
<h3><?php esc_html_e( 'Our form builder is optimized for desktop computers.', 'wpforms-lite' ); ?></h3>
<p><?php esc_html_e( 'We recommend that you edit your forms on a bigger screen. If you\'d like to proceed, please understand that some functionality might not behave as expected.', 'wpforms-lite' ); ?></p>
<div class="wpforms-fullscreen-notice-buttons">
<button type="button" class="wpforms-fullscreen-notice-button wpforms-fullscreen-notice-button-primary">
<?php esc_html_e( 'Back to All Forms', 'wpforms-lite' ); ?>
</button>
<button type="button" class="wpforms-fullscreen-notice-button wpforms-fullscreen-notice-button-secondary">
<?php esc_html_e( 'Continue', 'wpforms-lite' ); ?>
</button>
<button type="button" class="close"><span class="screen-reader-text"><?php esc_html_e( 'Close', 'wpforms-lite' ); ?></span></button>
</div>
</div>

View File

@@ -0,0 +1,145 @@
<?php
/**
* Form Builder Help Screen template.
*
* @since 1.6.3
*
* @var array $settings Help Screen settings.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
$times_svg = '<svg width="1792" height="1792" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1490 1322q0 40-28 68l-136 136q-28 28-68 28t-68-28l-294-294-294 294q-28 28-68 28t-68-28l-136-136q-28-28-28-68t28-68l294-294-294-294q-28-28-28-68t28-68l136-136q28-28 68-28t68 28l294 294 294-294q28-28 68-28t68 28l136 136q28 28 28 68t-28 68l-294 294 294 294q28 28 28 68z"/></svg>';
$url_parameters = add_query_arg(
[
'utm_campaign' => wpforms()->is_pro() ? 'plugin' : 'liteplugin',
'utm_source' => 'WordPress',
'utm_medium' => rawurlencode( 'Builder Help Modal' ),
'utm_content' => '',
],
''
);
$links_utm_medium = 'Builder Help Modal';
?>
<div id="wpforms-builder-help" style="display: none; opacity: 0;" class="wpforms-admin-page">
<img id="wpforms-builder-help-logo"
src="<?php echo esc_url( WPFORMS_PLUGIN_URL . 'assets/images/sullie-alt.png' ); ?>"
title="<?php esc_attr_e( 'Sullie the WPForms mascot', 'wpforms-lite' ); ?>"
alt="WPForms Logo">
<div id="wpforms-builder-help-close" title="<?php esc_attr_e( 'Close', 'wpforms-lite' ); ?>">
<?php echo $times_svg; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
</div>
<div id="wpforms-builder-help-content">
<div id="wpforms-builder-help-search">
<input type="text" placeholder="<?php esc_attr_e( 'Ask a question or search the docs...', 'wpforms-lite' ); ?>">
<div id="wpforms-builder-help-search-clear" title="<?php esc_attr_e( 'Clear', 'wpforms-lite' ); ?>">
<?php echo $times_svg; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
</div>
</div>
<div id="wpforms-builder-help-no-result" style="display: none;">
<ul class="wpforms-builder-help-docs">
<li>
<i class="fa fa-info-circle"></i><span><?php esc_html_e( 'No docs found', 'wpforms-lite' ); ?></span>
</li>
</ul>
</div>
<div id="wpforms-builder-help-result"></div>
<div id="wpforms-builder-help-categories"></div>
<div id="wpforms-builder-help-footer">
<div class="wpforms-builder-help-footer-block">
<i class="fa fa-file-text-o"></i>
<h3><?php esc_html_e( 'View Documentation', 'wpforms-lite' ); ?></h3>
<p><?php esc_html_e( 'Browse documentation, reference material, and tutorials for WPForms.', 'wpforms-lite' ); ?></p>
<a href="<?php echo esc_url( wpforms_utm_link( $settings['docs_url'], $links_utm_medium, 'View Documentation' ) ); ?>"
class="wpforms-btn wpforms-btn-md wpforms-btn-light-grey"
rel="noopener noreferrer"
target="_blank">
<?php esc_html_e( 'View All Documentation', 'wpforms-lite' ); ?>
</a>
</div>
<div class="wpforms-builder-help-footer-block">
<i class="fa fa-support"></i>
<h3><?php esc_html_e( 'Get Support', 'wpforms-lite' ); ?></h3>
<?php if ( wpforms()->is_pro() ) { ?>
<p><?php esc_html_e( 'Submit a ticket and our world class support team will be in touch soon.', 'wpforms-lite' ); ?></p>
<a href="<?php echo esc_url( wpforms_utm_link( $settings['support_ticket_url'], $links_utm_medium, 'Contact Support' ) ); ?>"
class="wpforms-btn wpforms-btn-md wpforms-btn-light-grey"
rel="noopener noreferrer"
target="_blank">
<?php esc_html_e( 'Submit a Support Ticket', 'wpforms-lite' ); ?>
</a>
<?php } else { ?>
<p><?php esc_html_e( 'Upgrade to WPForms Pro to access our world class customer support.', 'wpforms-lite' ); ?></p>
<a href="<?php echo esc_url( wpforms_utm_link( $settings['upgrade_url'], $links_utm_medium, 'Upgrade For Support' ) ); ?>"
class="wpforms-btn wpforms-btn-md wpforms-btn-orange"
rel="noopener noreferrer"
target="_blank">
<?php esc_html_e( 'Upgrade to WPForms Pro', 'wpforms-lite' ); ?>
</a>
<?php } ?>
</div>
</div>
</div>
</div>
<script type="text/html" id="tmpl-wpforms-builder-help-categories">
<ul class="wpforms-builder-help-categories-toggle">
<# _.each( data.categories, function( categoryTitle, categorySlug ) { #>
<li class="wpforms-builder-help-category">
<header>
<i class="fa fa-folder-open-o wpforms-folder"></i>
<span>{{{ categoryTitle }}}</span>
<i class="fa fa-angle-right wpforms-arrow"></i>
</header>
<ul class="wpforms-builder-help-docs" style="display: none;">
<# _.each( data.docs[ categorySlug ], function( doc, index ) {
utmContent = encodeURIComponent( doc.title ); #>
<li>
<i class="fa fa-file-text-o"></i><a href="{{ doc.url }}<?php echo esc_url( $url_parameters ); ?>={{ utmContent }}" rel="noopener noreferrer" target="_blank">{{{ doc.title }}}</a>
</li>
<# if ( index === 4 && data.docs[ categorySlug ].length > 4 ) { #>
<div style="display: none;">
<# } #>
<# } ) #>
<# if ( data.docs[ categorySlug ].length > 4 ) { #>
</div>
<button class="wpforms-btn wpforms-btn-md wpforms-btn-light-grey viewall" type="button"><?php esc_html_e( 'View All', 'wpforms-lite' ); ?> {{{ categoryTitle }}} <?php esc_html_e( 'Docs', 'wpforms-lite' ); ?></button>
<# } #>
</ul>
</li>
<# } ) #>
</ul>
</script>
<script type="text/html" id="tmpl-wpforms-builder-help-categories-error">
<h4 class="wpforms-builder-help-error">
<?php esc_html_e( 'Unfortunately the error occurred while downloading help data.', 'wpforms-lite' ); ?>
</h4>
</script>
<script type="text/html" id="tmpl-wpforms-builder-help-docs">
<ul class="wpforms-builder-help-docs">
<# _.each( data.docs, function( doc, index ) {
utmContent = encodeURIComponent( doc.title ); #>
<li>
<i class="fa fa-file-text-o"></i><a href="{{ doc.url }}<?php echo esc_url( $url_parameters ); ?>={{ utmContent }}" rel="noopener noreferrer" target="_blank">{{{ doc.title }}}</a>
</li>
<# } ) #>
</ul>
</script>

View File

@@ -0,0 +1,28 @@
<?php
/**
* Email Template modal link.
*
* This template will display a link to select a template for a notification.
* It is used in the context of both WPForms Lite and Pro.
*
* @since 1.8.5
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<p class="note">
<?php
printf(
/* translators: %1$s - Opening anchor tag, %2$s - Closing anchor tag. */
esc_html__( 'Select a template to use for this notification or %1$sview templates%2$s.', 'wpforms-lite' ),
'<a href="#" class="wpforms-all-email-template-modal">',
'</a>'
);
?>
</p>
<?php
/* Omit closing PHP tag at the end of PHP files to avoid "headers already sent" issues. */

View File

@@ -0,0 +1,57 @@
<?php
/**
* Email Template modal content.
*
* This template is used for rendering the email template modal content
* and is injected into the DOM via JS. The JS backbone template is used to render loop iterations.
*
* @since 1.8.5
*
* @var string $pro_badge Pro badge HTML.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<script type="text/html" id="tmpl-wpforms-email-template-modal">
<div class="wpforms-modal-header">
<h1>
<?php esc_html_e( 'Choose a Template', 'wpforms-lite' ); ?>
</h1>
<p>
<?php esc_html_e( 'Browse through our collection of email notification templates.', 'wpforms-lite' ); ?>
</p>
</div>
<div class="wpforms-email-template-modal-content wpforms-modal-content">
<div class="wpforms-card-image-group">
<div class="wpforms-setting-field">
<# _.each( data.templates, function( template, key ) { #>
<div class="wpforms-card-image<# if ( ! data.is_pro && template.is_pro ) { #> education-modal<# } #>"<# if ( ! data.is_pro && template.is_pro ) { #> data-name="<?php esc_attr_e( 'Email Templates', 'wpforms-lite' ); ?>" data-plural="1" data-action="upgrade"<# } #>>
<input type="radio" name="wpforms-email-template-modal-choice" id="wpforms-email-template-modal-choice-{{ data.id }}-{{ key }}" value="{{ key }}"<# if ( key === data.selected ) { #> checked="checked"<# } #> />
<label for="wpforms-email-template-modal-choice-{{ data.id }}-{{ key }}" class="option-{{ key }}">
{{ template.name }}
<# if ( ! data.is_pro && template.is_pro ) { #>
<?php echo wp_kses( $pro_badge, [ 'span' => [ 'class' => [] ] ] ); ?>
<# } #>
<span class="wpforms-card-image-overlay">
<span class="wpforms-btn-choose wpforms-btn wpforms-btn-md wpforms-btn-orange">
<?php esc_html_e( 'Choose', 'wpforms-lite' ); ?>
</span>
<# if ( template.preview ) { #>
<a href="{{{ template.preview }}}" target="_blank" class="wpforms-btn-preview wpforms-btn wpforms-btn-md wpforms-btn-light-grey">
<?php esc_html_e( 'Preview', 'wpforms-lite' ); ?>
</a>
<# } #>
</span>
</label>
</div>
<# } ); #>
</div>
</div>
</div>
</script>
<?php
/* Omit closing PHP tag at the end of PHP files to avoid "headers already sent" issues. */

View File

@@ -0,0 +1,25 @@
<?php
/**
* Payment Recurring Item HTML template.
*
* @since 1.8.4
*
* @var string $plan_id Plan ID.
* @var string $content Recurring payment content.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div class="wpforms-panel-content-section-payment-plan" data-plan-id="<?php echo esc_attr( $plan_id ); ?>">
<div class="wpforms-panel-content-section-payment-plan-head">
<div class="wpforms-panel-content-section-payment-plan-head-title"></div>
<div class="wpforms-panel-content-section-payment-plan-head-buttons">
<i class="wpforms-panel-content-section-payment-plan-head-buttons-delete fa fa-trash-o"></i>
<i class="wpforms-panel-content-section-payment-plan-head-buttons-toggle fa fa-chevron-circle-down"></i>
</div>
</div>
<div class="wpforms-panel-content-section-payment-plan-body"><?php echo $content; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></div>
</div>

View File

@@ -0,0 +1,37 @@
<?php
/**
* Payments sidebar button in the builder.
*
* @since 1.8.2
*
* @var string $configured Whether payment is configured.
* @var string $slug Slug of the payment integration.
* @var string $icon Icon of the payment integration.
* @var string $name Name of the payment integration.
* @var bool $recommended Whether payment is recommended.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<a href="#" class="wpforms-panel-sidebar-section icon <?php echo esc_attr( $configured ); ?> wpforms-panel-sidebar-section-<?php echo esc_attr( $slug ); ?>" data-section="<?php echo esc_attr( $slug ); ?>">
<img src="<?php echo esc_url( $icon ); ?>" alt="<?php echo esc_attr( $name ); ?>">
<?php echo esc_html( $name ); ?>
<?php if ( ! empty( $recommended ) ) : ?>
<span class="wpforms-panel-sidebar-recommended">
<i class="fa fa-star" aria-hidden="true"></i>&nbsp;
<?php esc_html_e( 'Recommended', 'wpforms-lite' ); ?>
</span>
<?php endif; ?>
<i class="fa fa-angle-right wpforms-toggle-arrow"></i>
<?php if ( ! empty( $configured ) ) : ?>
<i class="fa fa-check-circle-o"></i>
<?php endif; ?>
</a>

View File

@@ -0,0 +1,79 @@
<?php
/**
* A list of form revisions in the Form Builder Revisions panel.
*
* @since 1.7.3
*
* @var string $active_class Active item class.
* @var string $current_version_url The URL to load the current form version.
* @var string $author_id Current form author ID.
* @var array $revisions A list of all form revisions.
* @var string $show_avatars Whether the site settings for showing avatars is enabled.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div class='wpforms-revisions-content'>
<div class="wpforms-revision-current-version<?php echo esc_attr( $active_class ); ?>">
<a href="<?php echo esc_url( $current_version_url ); ?>">
<?php if ( $show_avatars ) : ?>
<div class="wpforms-revision-gravatar">
<?php echo get_avatar( $author_id, 40 ); ?>
</div>
<?php endif; ?>
<div class='wpforms-revision-details'>
<p class='wpforms-revision-created'>
<strong><?php esc_html_e( 'Current Version', 'wpforms-lite' ); ?></strong>
</p>
<p class='wpforms-revision-author'>
<?php
$display_name = get_the_author_meta( 'display_name', $author_id );
printf( /* translators: %s - form revision author name. */
esc_html__( 'by %s', 'wpforms-lite' ),
! empty( $display_name ) ? esc_html( $display_name ) : esc_html__( 'Unknown user', 'wpforms-lite' )
);
?>
</p>
</div>
</a>
</div>
<ul class="wpforms-revisions-list">
<?php foreach ( $revisions as $revision ) : ?>
<li class="wpforms-revision<?php echo esc_attr( $revision['active_class'] ); ?>">
<a href="<?php echo esc_url( $revision['url'] ); ?>">
<?php if ( $show_avatars ) : ?>
<div class="wpforms-revision-gravatar">
<?php echo get_avatar( $revision['author_id'], 40 ); ?>
</div>
<?php endif; ?>
<div class='wpforms-revision-details'>
<p class='wpforms-revision-created'>
<strong><?php echo esc_html( $revision['time_diff'] ); ?></strong> (<?php echo esc_html( $revision['date_time'] ); ?>)
</p>
<p class='wpforms-revision-author'>
<?php
$display_name = get_the_author_meta( 'display_name', $revision['author_id'] );
printf( /* translators: %s - form revision author name. */
esc_html__( 'by %s', 'wpforms-lite' ),
! empty( $display_name ) ? esc_html( $display_name ) : esc_html__( 'Unknown user', 'wpforms-lite' )
);
?>
</p>
</div>
</a>
</li>
<?php endforeach; ?>
</ul>
</div>

View File

@@ -0,0 +1,26 @@
<?php
/**
* "Revisions are disabled" notice in the Form Builder Revisions panel.
*
* @since 1.7.3
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
$url = wpforms_utm_link(
'https://wpforms.com/docs/how-to-use-form-revisions-in-wpforms/#enable-post-revisions',
'Builder Revisions',
'Revisions Disabled Notice'
);
?>
<div class='wpforms-revisions-notice wpforms-revisions-notice-error'>
<h2><?php esc_html_e( 'Form Revisions Are Disabled', 'wpforms-lite' ); ?></h2>
<p><?php esc_html_e( 'It appears that revisions are disabled on your WordPress installation. You can enable revisions for WPForms while leaving posts revisions disabled.', 'wpforms-lite' ); ?></p>
<a href="<?php echo esc_url( $url ); ?>" target='_blank' rel='noopener noreferrer' class='button button-primary button-large'>
<?php esc_html_e( 'Learn How', 'wpforms-lite' ); ?>
</a>
</div>

View File

@@ -0,0 +1,35 @@
<?php
/**
* "Revisions are limited" notice in the Form Builder Revisions panel.
*
* @since 1.7.3
*
* @var int $revisions_to_keep How many revisions are kept.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
$url = wpforms_utm_link(
'https://wpforms.com/docs/how-to-use-form-revisions-in-wpforms/#enable-post-revisions',
'Builder Revisions',
'Revisions Limited Notice'
);
?>
<div class='wpforms-revisions-notice wpforms-revisions-notice-warning'>
<h2><?php esc_html_e( 'Form Revisions Are Limited', 'wpforms-lite' ); ?></h2>
<p>
<?php
printf( /* translators: %d - maximum number of revisions to keep. */
esc_html__( 'Revisions are enabled, but theyre limited to %d. You can increase this by making a simple change to your WordPress configuration.', 'wpforms-lite' ),
absint( $revisions_to_keep )
);
?>
</p>
<a href="<?php echo esc_url( $url ); ?>" target="_blank" rel="noopener noreferrer" class='button button-primary button-large'>
<?php esc_html_e( 'Learn How', 'wpforms-lite' ); ?>
</a>
</div>

View File

@@ -0,0 +1,87 @@
<?php
/**
* Panel Setup (form templates).
* Form templates list item template.
*
* @since 1.6.8
* @since 1.8.4 Added subcategories attribute.
*
* @var string $selected_class Selected item class.
* @var bool $selected Is template selected.
* @var string $license_class License class (in the case of higher license needed).
* @var string $categories Categories, coma separated.
* @var string $subcategories Subcategories, comma separated.
* @var string $badge_text Badge text.
* @var string $demo_url Template demo URL.
* @var string $template_id Template ID (Slug or ID if available).
* @var string $education_class Education class (in the case of higher license needed).
* @var string $education_attributes Education attributes.
* @var string $addons_attributes Required addons attributes.
* @var array $template Template data.
* @var string $action_text Template action button text.
* @var string $badge_class Badge class in case if there is any badge text exists.
*/
use WPForms\Admin\Education\Helpers;
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div class="wpforms-template<?php echo esc_attr( $selected_class ); ?><?php echo esc_attr( $license_class ); ?><?php echo esc_attr( $badge_class ); ?>"
id="wpforms-template-<?php echo sanitize_html_class( $template['slug'] ); ?>">
<div class="wpforms-template-thumbnail">
<?php if ( empty( $template['thumbnail'] ) ) { ?>
<div class="wpforms-template-thumbnail-placeholder">
<?php if ( $template['slug'] === 'blank' ) { ?>
<img src="<?php echo esc_url( WPFORMS_PLUGIN_URL . 'assets/images/icon-file.svg' ); ?>" alt="Blank Form Template" loading="lazy" />
<?php } else { ?>
<img src="<?php echo esc_url( WPFORMS_PLUGIN_URL . 'assets/images/icon-wpforms.svg' ); ?>" alt="Customizable Form Template" loading="lazy" />
<?php } ?>
</div>
<?php } else { ?>
<img src="<?php echo esc_url( $template['thumbnail'] ); ?>" alt="<?php echo esc_attr( $template['name'] ); ?> Template" loading="lazy" />
<?php } ?>
</div>
<!-- As requirment for Lists.js library data attribute slug is used in classes list. -->
<h3 class="wpforms-template-name categories has-access favorite slug subcategories" data-categories="<?php echo esc_attr( $categories ); ?>" data-subcategories="<?php echo esc_attr( $subcategories ); ?>" data-has-access="<?php echo esc_attr( $template['has_access'] ); ?>" data-favorite="<?php echo esc_attr( $template['favorite'] ); ?>" data-slug="<?php echo esc_attr( $template['slug'] ); ?>">
<?php echo esc_html( $template['name'] ); ?>
</h3>
<span class="wpforms-template-favorite">
<i class="fa fa-heart <?php echo $template['favorite'] ? '' : 'wpforms-hidden'; ?>" title="<?php esc_attr_e( 'Remove from Favorites', 'wpforms-lite' ); ?>"></i>
<i class="fa fa-heart-o <?php echo $template['favorite'] ? 'wpforms-hidden' : ''; ?>" title="<?php esc_attr_e( 'Mark as Favorite', 'wpforms-lite' ); ?>"></i>
</span>
<?php
if ( ! empty( $badge_text ) && ! $selected ) {
Helpers::print_badge( $badge_text, 'sm', 'corner', 'steel', 'rounded-bl' );
}
?>
<?php if ( ! empty( $template['description'] ) ) : ?>
<p class="wpforms-template-desc"><?php echo esc_html( $template['description'] ); ?></p>
<?php endif; ?>
<div class="wpforms-template-buttons">
<a href="#" class="wpforms-template-select wpforms-btn wpforms-btn-md wpforms-btn-orange<?php echo esc_attr( $education_class ); ?>"
data-template-name-raw="<?php echo esc_attr( $template['name'] ); ?>"
data-template="<?php echo esc_attr( $template_id ); ?>"
data-slug="<?php echo esc_attr( $template['slug'] ); ?>"
<?php echo $education_attributes; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
<?php echo $addons_attributes; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>>
<?php echo esc_html( $action_text ); ?>
</a>
<?php if ( $template['url'] !== '' ) : ?>
<a class="wpforms-template-demo wpforms-btn wpforms-btn-md wpforms-btn-light-grey"
href="<?php echo esc_url( $demo_url ); ?>"
target="_blank" rel="noopener noreferrer">
<?php esc_html_e( 'View Demo', 'wpforms-lite' ); ?>
</a>
<?php endif; ?>
</div>
</div>

View File

@@ -0,0 +1,115 @@
<?php
/**
* Coupons education template.
*
* @since 1.8.2.2
*
* @var string $action Is plugin installed?
* @var string $path Plugin file.
* @var string $url URL for download plugin.
* @var bool $plugin_allow Allow using plugin.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
$features = [
__( 'Custom Coupon Codes', 'wpforms-lite' ),
__( 'Maximum Usage Limit', 'wpforms-lite' ),
__( 'Percentage or Fixed Discounts', 'wpforms-lite' ),
__( 'Once Per Email Address Limit', 'wpforms-lite' ),
__( 'Start and End Dates', 'wpforms-lite' ),
__( 'Usage Statistics', 'wpforms-lite' ),
];
$images_url = WPFORMS_PLUGIN_URL . 'assets/images/coupons-education/';
$images = [
[
'url' => 'coupons-addon-thumbnail-01.png',
'url2x' => 'coupons-addon-screenshot-01.png',
'title' => __( 'Coupons Overview', 'wpforms-lite' ),
],
[
'url' => 'coupons-addon-thumbnail-02.png',
'url2x' => 'coupons-addon-screenshot-02.png',
'title' => __( 'Coupon Settings', 'wpforms-lite' ),
],
];
$utm_medium = 'Payments - Coupons';
$utm_content = 'Coupons Addon';
$upgrade_link = $action === 'upgrade'
? sprintf(
' <strong><a href="%1$s" target="_blank" rel="noopener noreferrer">%2$s</a></strong>',
esc_url( wpforms_admin_upgrade_link( $utm_medium, $utm_content ) ),
esc_html__( 'Upgrade to WPForms Pro', 'wpforms-lite' )
)
: '';
?>
<div class="coupons-education-page">
<div class="coupons-education-page-heading">
<p>
<?php
printf( /* translators: %s - WPForms.com Upgrade page URL. */
esc_html__( 'With the Coupons addon, you can offer customers discounts using custom coupon codes. Create your own percentage or fixed rate discount, then add the Coupon field to any payment form. When a customer enters your unique code, theyll receive the specified discount. You can also add limits to restrict when coupons are available and how often they can be used. The Coupons addon requires a license level of Pro or higher.%s', 'wpforms-lite' ),
wp_kses(
$upgrade_link,
[
'a' => [
'href' => [],
'rel' => [],
'target' => [],
],
'strong' => [],
]
)
);
?>
</p>
</div>
<div class="coupons-education-page-media">
<div class="coupons-education-page-images">
<?php foreach ( $images as $image ) : ?>
<figure>
<div class="coupons-education-page-images-image">
<img src="<?php echo esc_url( $images_url . $image['url'] ); ?>" alt="<?php echo esc_attr( $image['title'] ); ?>" />
<a href="<?php echo esc_url( $images_url . $image['url2x'] ); ?>" class="hover" data-lity data-lity-desc="<?php echo esc_attr( $image['title'] ); ?>"></a>
</div>
<figcaption><?php echo esc_html( $image['title'] ); ?></figcaption>
</figure>
<?php endforeach; ?>
</div>
</div>
<div class="coupons-education-page-caps">
<p><?php esc_html_e( 'Easy to Use, Yet Powerful', 'wpforms-lite' ); ?></p>
<ul>
<?php foreach ( $features as $feature ) : ?>
<li>
<i class="fa fa-solid fa-check"></i>
<?php echo esc_html( $feature ); ?>
</li>
<?php endforeach; ?>
</ul>
</div>
<div class="coupons-education-page-button">
<?php
wpforms_edu_get_button(
$action,
$plugin_allow,
$path,
$url,
[
'medium' => $utm_medium,
'content' => $utm_content,
]
);
?>
</div>
</div>

View File

@@ -0,0 +1,46 @@
<?php
/**
* Payment single page education notice.
*
* @since 1.8.2
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div class="wpforms-payment-single-education-notice postbox wpforms-dismiss-container">
<div class="wpforms-payment-single-education-notice-title">
<?php esc_html_e( 'Get More Out of Payments', 'wpforms-lite' ); ?>
</div>
<div class="wpforms-payment-single-education-notice-description">
<?php
printf(
wp_kses( /* translators: %s - WPForms.com Upgrade page URL. */
__( 'Unlock conditional logic, coupons, lower Stripe fees, and more. <a href="%s" target="_blank" rel="noopener noreferrer">Upgrade to Pro!</a>', 'wpforms-lite' ),
[
'a' => [
'href' => [],
'rel' => [],
'target' => [],
],
]
),
esc_url(
wpforms_admin_upgrade_link(
'Single Payment Page',
'Stripe Pro - Remove Fees'
)
)
);
?>
</div>
<div
class="wpforms-payment-single-education-notice-dismiss-button wpforms-dismiss-button"
data-section="single-payment"
aria-label="<?php esc_html_e( 'Dismiss this notice', 'wpforms-lite' ); ?>">
<span class="dashicons dashicons-no-alt"></span>
</div>
</div>

View File

@@ -0,0 +1,38 @@
<?php
/**
* Capabilities for geolocation settings page.
*
* @since 1.6.6
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
$lists = [
[
esc_html__( 'City', 'wpforms-lite' ),
esc_html__( 'Country', 'wpforms-lite' ),
esc_html__( 'Postal/Zip Code', 'wpforms-lite' ),
],
[
esc_html__( 'Latitude/Longitude', 'wpforms-lite' ),
esc_html__( 'Address Autocomplete', 'wpforms-lite' ),
esc_html__( 'Embedded Map in Forms', 'wpforms-lite' ),
],
[
esc_html__( 'Google Places API', 'wpforms-lite' ),
esc_html__( 'Mapbox API', 'wpforms-lite' ),
],
];
?>
<p><?php esc_html_e( 'Powerful location-based insights and features…', 'wpforms-lite' ); ?></p>
<?php foreach ( $lists as $list ) { ?>
<ul>
<?php foreach ( $list as $item ) { ?>
<li><?php echo esc_html( $item ); ?></li>
<?php } ?>
</ul>
<?php } ?>

View File

@@ -0,0 +1,26 @@
<?php
/**
* Heading for geolocation settings page.
*
* @since 1.6.6
*
* @var bool $plugin_allow Allow using plugin.
*/
use WPForms\Admin\Education\Helpers;
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<h4>
<?php
esc_html_e( 'Geolocation', 'wpforms-lite' );
if ( ! $plugin_allow ) {
Helpers::print_badge( 'Pro' );
}
?>
</h4>
<p><?php esc_html_e( 'Do you want to learn more about visitors who fill out your online forms? Our geolocation addon allows you to collect and store your website visitors geolocation data along with their form submission. This insight can help you to be better informed and turn more leads into customers. Furthermore, add a smart address field that autocompletes using the Google Places API.', 'wpforms-lite' ); ?></p>

View File

@@ -0,0 +1,39 @@
<?php
/**
* Screenshots for geolocation settings page.
*
* @since 1.6.6
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
$images_url = WPFORMS_PLUGIN_URL . 'assets/images/geolocation-education/';
$screenshots = [
[
'url' => $images_url . 'entry-location.jpg',
'url2x' => $images_url . 'entry-location@2x.jpg',
'title' => __( 'Location Info in Entries', 'wpforms-lite' ),
],
[
'url' => $images_url . 'address-autocomplete.jpg',
'url2x' => $images_url . 'address-autocomplete@2x.jpg',
'title' => __( 'Address Autocomplete Field', 'wpforms-lite' ),
],
[
'url' => $images_url . 'smart-address-field.jpg',
'url2x' => $images_url . 'smart-address-field@2x.jpg',
'title' => __( 'Smart Address Field', 'wpforms-lite' ),
],
];
foreach ( $screenshots as $screenshot ) {
?>
<div class="cont">
<img src="<?php echo esc_url( $screenshot['url'] ); ?>" alt="<?php echo esc_attr( $screenshot['title'] ); ?>" />
<a href="<?php echo esc_url( $screenshot['url2x'] ); ?>" class="hover" data-lity data-lity-desc="<?php echo esc_attr( $screenshot['title'] ); ?>"></a>
<span><?php echo esc_html( $screenshot['title'] ); ?></span>
</div>
<?php
}

View File

@@ -0,0 +1,47 @@
<?php
/**
* Button for geolocation settings page.
*
* @since 1.6.6
*
* @var string $action Is plugin installed?
* @var string $path Plugin file.
* @var string $url URL for download plugin.
* @var bool $plugin_allow Allow using plugin.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
if ( $plugin_allow && $action === 'activate' ) {
?>
<button
class="status-inactive wpforms-btn wpforms-btn-lg wpforms-btn-blue wpforms-education-toggle-plugin-btn"
data-type="addon"
data-action="<?php echo esc_attr( $action ); ?>"
data-plugin="<?php echo esc_attr( $path ); ?>">
<i></i><?php esc_html_e( 'Activate', 'wpforms-lite' ); ?>
</button>
<?php } elseif ( $plugin_allow && $action === 'install' ) { ?>
<button
class="status-download wpforms-btn wpforms-btn-lg wpforms-btn-blue wpforms-education-toggle-plugin-btn"
data-type="addon"
data-action="<?php echo esc_attr( $action ); ?>"
data-plugin="<?php echo esc_url( $url ); ?>">
<i></i><?php esc_html_e( 'Install & Activate', 'wpforms-lite' ); ?>
</button>
<?php
} else {
$btn_classes = [ 'wpforms-btn', 'wpforms-btn-lg', 'wpforms-btn-orange' ];
$btn_classes[] = ! wpforms()->is_pro() ? 'wpforms-upgrade-modal' : '';
?>
<a
href="<?php echo esc_url( wpforms_admin_upgrade_link( 'Settings - Geolocation', 'Geolocation Addon' ) ); ?>"
target="_blank"
rel="noopener noreferrer"
class="<?php echo esc_attr( implode( ' ', array_filter( $btn_classes ) ) ); ?>">
<?php esc_html_e( 'Upgrade to WPForms Pro', 'wpforms-lite' ); ?>
</a>
<?php
}

View File

@@ -0,0 +1,40 @@
<?php
/**
* SMTP education notice.
*
* @since 1.8.1
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div class="wpforms-smtp-education-notice wpforms-dismiss-container">
<div class="wpforms-smtp-education-notice-title"><?php esc_html_e( 'Make Sure Important Emails Reach Your Customers', 'wpforms-lite' ); ?></div>
<div class="wpforms-smtp-education-notice-description">
<?php
echo wp_kses(
sprintf( /* translators: %1$s - link to WPForms SMTP page. */
__( 'Solve common email deliverability issues for good. <a href="%1$s" target="%2$s" rel="noopener noreferrer">Get WP Mail SMTP!</a>', 'wpforms-lite' ),
esc_url( add_query_arg( 'page', 'wpforms-smtp', admin_url( 'admin.php' ) ) ),
wpforms_is_admin_page( 'builder' ) ? '_blank' : '_self'
),
[
'a' => [
'href' => [],
'rel' => [],
'target' => [],
],
]
);
?>
</div>
<div
class="wpforms-smtp-education-notice-dismiss-button wpforms-dismiss-button"
data-section="smtp-notice"
aria-label="<?php esc_html_e( 'Dismiss this notice', 'wpforms-lite' ); ?>">
<span class="dashicons dashicons-no-alt"></span>
</div>
</div>

View File

@@ -0,0 +1,22 @@
<?php
/**
* Classic body template.
*
* This template can be overridden by copying it to yourtheme/wpforms/emails/classic-body.php.
*
* @since 1.8.5
*
* @var string $message Email message.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<table border="0" cellpadding="0" cellspacing="0" width="100%" role="presentation">
<tbody>
<?php echo wp_kses_post( $message ); ?>
</tbody>
</table>

View File

@@ -0,0 +1,17 @@
<?php
/**
* Classic field template.
*
* This template can be overridden by copying it to yourtheme/wpforms/emails/classic-field.php.
*
* @since 1.8.5
*/
?>
<tr>
<td class="field-name"><strong>{field_name}</strong></td>
</tr>
<tr class="field-{field_type}">
<td class="field-value">{field_value}</td>
</tr>

View File

@@ -0,0 +1,50 @@
<?php
/**
* Classic footer template.
*
* This template can be overridden by copying it to yourtheme/wpforms/emails/classic-footer.php.
*
* @since 1.8.5
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
</td>
</tr>
<tr>
<td align="center" valign="top" class="footer">
<?php
/** This filter is documented in /includes/emails/templates/footer-default.php */
echo apply_filters( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
'wpforms_email_footer_text',
sprintf(
wp_kses( /* translators: %1$s - site URL; %2$s - site title. */
__( 'Sent from <a href="%1$s">%2$s</a>', 'wpforms-lite' ),
[
'a' => [
'href' => [],
],
]
),
esc_url( home_url() ),
wp_specialchars_decode( get_bloginfo( 'name' ) )
)
);
?>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</td>
<td><!-- Deliberately empty to support consistent sizing and layout across multiple email clients. --></td>
</tr>
</table>
</body>
</html>

View File

@@ -0,0 +1,48 @@
<?php
/**
* Classic header template.
*
* This template can be overridden by copying it to yourtheme/wpforms/emails/classic-header.php.
*
* @since 1.8.5
*
* @var string $title Email title.
* @var array $header_image Header image arguments.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
?>
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php bloginfo( 'charset' ); ?>">
<meta content="width=device-width, initial-scale=1.0" name="viewport">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="color-scheme" content="light dark">
<title><?php echo esc_html( $title ); ?></title>
</head>
<body <?php echo is_rtl() ? 'rightmargin' : 'leftmargin'; ?>="0" marginwidth="0" topmargin="0" marginheight="0" offset="0" bgcolor="#e9eaec">
<table border="0" cellpadding="0" cellspacing="0" width="100%" height="100%" class="body" role="presentation">
<tr>
<td><!-- Deliberately empty to support consistent sizing and layout across multiple email clients. --></td>
<td align="center" valign="top" class="body-inner" width="660">
<div class="wrapper" width="100%" dir="<?php echo is_rtl() ? 'rtl' : 'ltr'; ?>">
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="container" role="presentation">
<tr>
<?php if ( ! empty( $header_image['url'] ) ) : ?>
<td align="center" valign="middle" class="header">
<div class="header-image has-image-size-<?php echo ! empty( $header_image['size'] ) ? esc_attr( $header_image['size'] ) : 'medium'; ?>">
<img src="<?php echo esc_url( $header_image['url'] ); ?>" <?php echo isset( $header_image['width'] ) ? 'width="' . absint( $header_image['width'] ) . '"' : ''; ?> alt="<?php echo esc_attr( get_bloginfo( 'name' ) ); ?>" />
</div>
</td>
<?php endif; ?>
</tr>
<tr>
<td class="wrapper-inner" bgcolor="#ffffff">
<table border="0" cellpadding="0" cellspacing="0" width="100%" role="presentation">
<tr>
<td valign="top" class="content">

View File

@@ -0,0 +1,13 @@
<?php
/**
* Classic media queries style template.
*
* This template can be overridden by copying it to yourtheme/wpforms/emails/classic-queries.php.
*
* @since 1.8.5
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
require WPFORMS_PLUGIN_DIR . 'assets/css/emails/partials/classic_media_queries.css';

View File

@@ -0,0 +1,66 @@
<?php
/**
* Classic style template.
*
* This template can be overridden by copying it to yourtheme/wpforms/emails/classic-style.php.
*
* @since 1.8.5
*
* @var string $email_background_color Background color for the email.
* @var string $email_body_color Background color for the email content body.
* @var string $email_text_color Text color for the email content.
* @var string $email_links_color Color for links in the email content.
* @var string $email_typography Preferred typography font-family for email content.
* @var string $header_image_max_width Maximum width for the header image.
* @var string $header_image_max_height Maximum height for the header image.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
require WPFORMS_PLUGIN_DIR . '/assets/css/emails/classic.min.css';
?>
body, .body {
background-color: <?php echo sanitize_hex_color( $email_background_color ); ?>;
}
.wrapper-inner {
background-color: <?php echo sanitize_hex_color( $email_body_color ); ?>;
border: 1px solid <?php echo sanitize_hex_color( wpforms_generate_contrasting_color( $email_text_color, 72, 63 ) ); ?>;
}
body, table.body, h1, h2, h3, h4, h5, h6, p, td, th, a {
color: <?php echo sanitize_hex_color( $email_text_color ); ?>;
font-family: <?php echo esc_attr( $email_typography ); ?>;
}
a, a:visited,
a:hover, a:active,
h1 a, h1 a:visited,
h2 a, h2 a:visited,
h3 a, h3 a:visited,
h4 a, h4 a:visited,
h5 a, h5 a:visited,
h6 a, h6 a:visited {
color: <?php echo sanitize_hex_color( $email_links_color ); ?>;
}
.content .field-value {
border-bottom: 1px solid <?php echo sanitize_hex_color( wpforms_generate_contrasting_color( $email_text_color, 86, 72 ) ); ?>;
}
.footer, .footer a {
color: <?php echo sanitize_hex_color( wpforms_generate_contrasting_color( $email_text_color, 50, 45 ) ); ?>;
}
<?php if ( ! empty( $header_image_max_width ) && ! empty( $header_image_max_height ) ) : ?>
.header-image {
max-width: <?php echo esc_attr( $header_image_max_width ); ?>px;
}
.header-image img {
max-height: <?php echo esc_attr( $header_image_max_height ); ?>px;
}
<?php endif; ?>

View File

@@ -0,0 +1,22 @@
<?php
/**
* Compact body template.
*
* This template can be overridden by copying it to yourtheme/wpforms/emails/compact-body.php.
*
* @since 1.8.5
*
* @var string $message Email message.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<table border="0" cellpadding="0" cellspacing="0" width="100%" role="presentation">
<tbody>
<?php echo wp_kses_post( $message ); ?>
</tbody>
</table>

View File

@@ -0,0 +1,15 @@
<?php
/**
* Compact field template.
*
* This template can be overridden by copying it to yourtheme/wpforms/emails/compact-field.php.
*
* @since 1.8.5
*/
?>
<tr class="field-{field_type}">
<td class="field-name"><strong>{field_name}</strong></td>
<td class="field-value" valign="middle">{field_value}</td>
</tr>

View File

@@ -0,0 +1,50 @@
<?php
/**
* Compact footer template.
*
* This template can be overridden by copying it to yourtheme/wpforms/emails/compact-footer.php.
*
* @since 1.8.5
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
</td>
</tr>
<tr>
<td align="<?php echo is_rtl() ? 'right' : 'left'; ?>" valign="top" class="footer">
<?php
/** This filter is documented in /includes/emails/templates/footer-default.php */
echo apply_filters( // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
'wpforms_email_footer_text',
sprintf(
wp_kses( /* translators: %1$s - site URL; %2$s - site title. */
__( 'Sent from <a href="%1$s">%2$s</a>', 'wpforms-lite' ),
[
'a' => [
'href' => [],
],
]
),
esc_url( home_url() ),
wp_specialchars_decode( get_bloginfo( 'name' ) )
)
);
?>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</td>
<td><!-- Deliberately empty to support consistent sizing and layout across multiple email clients. --></td>
</tr>
</table>
</body>
</html>

View File

@@ -0,0 +1,48 @@
<?php
/**
* Compact header template.
*
* This template can be overridden by copying it to yourtheme/wpforms/emails/compact-header.php.
*
* @since 1.8.5
*
* @var string $title Email title.
* @var array $header_image Header image arguments.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
?>
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php bloginfo( 'charset' ); ?>">
<meta content="width=device-width, initial-scale=1.0" name="viewport">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="color-scheme" content="light dark">
<title><?php echo esc_html( $title ); ?></title>
</head>
<body <?php echo is_rtl() ? 'rightmargin' : 'leftmargin'; ?>="0" marginwidth="0" topmargin="0" marginheight="0" offset="0" bgcolor="#e9eaec">
<table border="0" cellpadding="0" cellspacing="0" width="100%" height="100%" class="body" role="presentation">
<tr>
<td><!-- Deliberately empty to support consistent sizing and layout across multiple email clients. --></td>
<td align="center" valign="top" class="body-inner" width="700">
<div class="wrapper" width="100%" dir="<?php echo is_rtl() ? 'rtl' : 'ltr'; ?>">
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="container" role="presentation">
<tr>
<?php if ( ! empty( $header_image['url'] ) ) : ?>
<td align="center" valign="middle" class="header">
<div class="header-image has-image-size-<?php echo ! empty( $header_image['size'] ) ? esc_attr( $header_image['size'] ) : 'medium'; ?>">
<img src="<?php echo esc_url( $header_image['url'] ); ?>" <?php echo isset( $header_image['width'] ) ? 'width="' . absint( $header_image['width'] ) . '"' : ''; ?> alt="<?php echo esc_attr( get_bloginfo( 'name' ) ); ?>" />
</div>
</td>
<?php endif; ?>
</tr>
<tr>
<td class="wrapper-inner" bgcolor="#ffffff">
<table border="0" cellpadding="0" cellspacing="0" width="100%" role="presentation">
<tr>
<td valign="top" class="content <?php echo is_rtl() ? 'is-rtl' : 'is-ltr'; ?>">

View File

@@ -0,0 +1,13 @@
<?php
/**
* Compact media queries style template.
*
* This template can be overridden by copying it to yourtheme/wpforms/emails/compact-queries.php.
*
* @since 1.8.5
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
require WPFORMS_PLUGIN_DIR . 'assets/css/emails/partials/compact_media_queries.css';

View File

@@ -0,0 +1,66 @@
<?php
/**
* Compact style template.
*
* This template can be overridden by copying it to yourtheme/wpforms/emails/compact-style.php.
*
* @since 1.8.5
*
* @var string $email_background_color Background color for the email.
* @var string $email_body_color Background color for the email content body.
* @var string $email_text_color Text color for the email content.
* @var string $email_links_color Color for links in the email content.
* @var string $email_typography Preferred typography font-family for email content.
* @var string $header_image_max_width Maximum width for the header image.
* @var string $header_image_max_height Maximum height for the header image.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
require WPFORMS_PLUGIN_DIR . '/assets/css/emails/compact.min.css';
?>
body, .body {
background-color: <?php echo sanitize_hex_color( $email_background_color ); ?>;
}
.wrapper-inner {
background-color: <?php echo sanitize_hex_color( $email_body_color ); ?>;
border: 1px solid <?php echo sanitize_hex_color( wpforms_generate_contrasting_color( $email_text_color, 72, 63 ) ); ?>;
}
body, table.body, h1, h2, h3, h4, h5, h6, p, td, th, a {
color: <?php echo sanitize_hex_color( $email_text_color ); ?>;
font-family: <?php echo esc_attr( $email_typography ); ?>;
}
a, a:visited,
a:hover, a:active,
h1 a, h1 a:visited,
h2 a, h2 a:visited,
h3 a, h3 a:visited,
h4 a, h4 a:visited,
h5 a, h5 a:visited,
h6 a, h6 a:visited {
color: <?php echo sanitize_hex_color( $email_links_color ); ?>;
}
.content td {
border-bottom: 1px solid <?php echo sanitize_hex_color( wpforms_generate_contrasting_color( $email_text_color, 86, 72 ) ); ?>;
}
.footer, .footer a {
color: <?php echo sanitize_hex_color( wpforms_generate_contrasting_color( $email_text_color, 50, 45 ) ); ?>;
}
<?php if ( ! empty( $header_image_max_width ) && ! empty( $header_image_max_height ) ) : ?>
.header-image {
max-width: <?php echo esc_attr( $header_image_max_width ); ?>px;
}
.header-image img {
max-height: <?php echo esc_attr( $header_image_max_height ); ?>px;
}
<?php endif; ?>

View File

@@ -0,0 +1,18 @@
<?php
/**
* General body template (plain text).
*
* This template can be overridden by copying it to yourtheme/wpforms/emails/general-body-plain.php.
*
* @since 1.5.4
*
* @version 1.5.4
*
* @var string $message
*/
if ( ! \defined( 'ABSPATH' ) ) {
exit;
}
echo \wp_kses_post( $message );

View File

@@ -0,0 +1,28 @@
<?php
/**
* General body template.
*
* This template can be overridden by copying it to yourtheme/wpforms/emails/general-body.php.
*
* @since 1.5.4
*
* @version 1.5.4
*
* @var string $message
*/
if ( ! \defined( 'ABSPATH' ) ) {
exit;
}
?>
<table>
<tbody>
<tr>
<td>
<?php echo \wp_kses_post( $message ); ?>
</td>
</tr>
</tbody>
</table>

View File

@@ -0,0 +1,33 @@
<?php
/**
* General footer template.
*
* This template can be overridden by copying it to yourtheme/wpforms/emails/general-footer.php.
*
* @since 1.5.4
*
* @version 1.5.4
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
</td>
</tr>
<tr>
<td align="center" valign="top" class="footer">
<?php
/* translators: %s - link to the site. */
printf( esc_html__( 'Sent from %s', 'wpforms-lite' ), '<a href="' . esc_url( home_url() ) . '">' . esc_html( wp_specialchars_decode( get_bloginfo( 'name' ) ) ) . '</a>' );
?>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>

View File

@@ -0,0 +1,42 @@
<?php
/**
* General header template.
*
* This template can be overridden by copying it to yourtheme/wpforms/emails/general-header.php.
*
* @since 1.5.4
*
* @version 1.5.4
*
* @var string $title
* @var string $header_image
*/
if ( ! \defined( 'ABSPATH' ) ) {
exit;
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width">
<title><?php echo \esc_html( $title ); ?></title>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%" height="100%" class="body">
<tr>
<td align="center" valign="top" class="body-inner">
<table border="0" cellpadding="0" cellspacing="0" class="container">
<tr>
<td align="center" valign="middle" class="header">
<?php if ( ! empty( $header_image['url'] ) ) : ?>
<img src="<?php echo \esc_url( $header_image['url'] ); ?>" <?php echo isset( $header_image['width'] ) ? 'width="' . \absint( $header_image['width'] ) . '"' : ''; ?> alt="<?php echo \esc_attr( \get_bloginfo( 'name' ) ); ?>" />
<?php endif; ?>
</td>
</tr>
<tr>
<td align="left" valign="top" class="content">

View File

@@ -0,0 +1,15 @@
<?php
/**
* General media queries style template.
*
* This template can be overridden by copying it to yourtheme/wpforms/emails/general-queries.php.
*
* @since 1.5.4
*
* @version 1.5.4
*/
if ( ! \defined( 'ABSPATH' ) ) {
exit;
}
require \WPFORMS_PLUGIN_DIR . 'assets/css/emails/partials/media_queries.css';

View File

@@ -0,0 +1,30 @@
<?php
/**
* General style template.
*
* This template can be overridden by copying it to yourtheme/wpforms/emails/general-style.php.
*
* @since 1.5.4
*
* @version 1.5.4
*
* @var string $email_background_color
*/
if ( ! \defined( 'ABSPATH' ) ) {
exit;
}
require \WPFORMS_PLUGIN_DIR . '/assets/css/emails/general.min.css';
?>
body, .body {
background-color: <?php echo \esc_attr( $email_background_color ); ?>;
}
<?php if ( ! empty( $header_image_max_width ) ) : ?>
.header img {
max-width: <?php echo esc_attr( $header_image_max_width ); ?>px;
}
<?php endif; ?>

View File

@@ -0,0 +1,56 @@
<?php
/**
* Email Summary body template (plain text).
*
* This template can be overridden by copying it to yourtheme/wpforms/emails/summary-body-plain.php.
*
* @since 1.5.4
*
* @var array $entries
* @var array $info_block
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
echo esc_html__( 'Hi there!', 'wpforms-lite' ) . "\n\n";
if ( wpforms()->is_pro() ) {
echo esc_html__( 'Lets see how your forms performed in the past week.', 'wpforms-lite' ) . "\n\n";
} else {
echo esc_html__( 'Lets see how your forms performed.', 'wpforms-lite' ) . "\n\n";
echo esc_html__( 'Below is the total number of submissions for each form, however actual entries are not stored in WPForms Lite.', 'wpforms-lite' ) . "\n\n";
echo esc_html__( 'To view future entries inside your WordPress dashboard, and get more detailed reports, consider upgrading to Pro:', 'wpforms-lite' );
echo '&nbsp;';
echo 'https://wpforms.com/lite-upgrade/?utm_source=WordPress&utm_medium=Weekly%20Summary%20Email&utm_campaign=liteplugin&utm_content=Upgrade&utm_locale=' . wpforms_sanitize_key( get_locale() );
echo "\n\n\n";
}
echo "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n\n";
echo esc_html__( 'Form', 'wpforms-lite' ) . ' | ' . esc_html__( 'Entries', 'wpforms-lite' ) . "\n\n";
echo "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n\n";
foreach ( $entries as $row ) {
echo ( isset( $row['title'] ) ? esc_html( $row['title'] ) : '' ) . ' | ' . ( isset( $row['count'] ) ? absint( $row['count'] ) : '' ) . "\n\n";
}
if ( empty( $entries ) ) {
echo esc_html__( 'It appears you do not have any form entries yet.', 'wpforms-lite' ) . "\n\n";
}
echo "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\n\n\n";
if ( ! empty( $info_block['title'] ) ) {
echo esc_html( $info_block['title'] ) . "\n\n";
}
if ( ! empty( $info_block['content'] ) ) {
echo wp_kses_post( $info_block['content'] ) . "\n\n";
}
if ( ! empty( $info_block['button'] ) && ! empty( $info_block['url'] ) ) {
echo esc_html( $info_block['button'] ) . ': ' . esc_url( $info_block['url'] ) . "\n\n";
}

View File

@@ -0,0 +1,192 @@
<?php
/**
* Email Summary body template.
*
* This template can be overridden by copying it to yourtheme/wpforms/emails/summary-body.php.
*
* @since 1.5.4
*
* @var array $entries
* @var array $info_block
*/
use WPForms\Integrations\LiteConnect\LiteConnect;
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<table class="summary-container">
<tbody>
<tr>
<td>
<h6 class="greeting"><?php esc_html_e( 'Hi there!', 'wpforms-lite' ); ?></h6>
<?php if ( wpforms()->is_pro() ) : ?>
<p class="large"><?php esc_html_e( 'Lets see how your forms performed in the past week.', 'wpforms-lite' ); ?></p>
<?php else : ?>
<p class="large"><?php esc_html_e( 'Lets see how your forms performed.', 'wpforms-lite' ); ?></p>
<p class="lite-disclaimer">
<?php esc_html_e( 'Below is the total number of submissions for each form. However, form entries are not stored by WPForms Lite.', 'wpforms-lite' ); ?>
</p>
<?php if ( LiteConnect::is_enabled() ) : ?>
<p class="lite-disclaimer">
<strong><?php esc_html_e( 'Weve got you covered!', 'wpforms-lite' ); ?></strong><br/>
<?php
printf(
wp_kses( /* translators: %s - WPForms.com Upgrade page URL. */
__( 'Your entries are being backed up securely in the cloud. When youre ready to manage your entries inside WordPress, just <a href="%s" target="_blank" rel="noopener noreferrer">upgrade to Pro</a> and well automatically import them in seconds!', 'wpforms-lite' ),
[
'a' => [
'href' => [],
'rel' => [],
'target' => [],
],
]
),
'https://wpforms.com/lite-upgrade/?utm_source=WordPress&utm_medium=Weekly%20Summary%20Email&utm_campaign=liteplugin&utm_content=Upgrade&utm_locale=' . wpforms_sanitize_key( get_locale() )
);
?>
</p>
<p class="lite-disclaimer">
<?php
printf(
'<a href="%1$s" target="_blank" rel="noopener noreferrer">%2$s</a>',
'https://wpforms.com/lite-upgrade/?utm_source=WordPress&utm_medium=Weekly%20Summary%20Email&utm_campaign=liteplugin&utm_content=Upgrade&utm_locale=' . wpforms_sanitize_key( get_locale() ),
esc_html__( 'Check out what else youll get with your Pro license.', 'wpforms-lite' )
);
?>
</p>
<?php else : ?>
<p class="lite-disclaimer">
<strong><?php esc_html_e( 'Note: Entry backups are not enabled.', 'wpforms-lite' ); ?></strong><br/>
<?php esc_html_e( 'We recommend that you enable entry backups to guard against lost entries.', 'wpforms-lite' ); ?>
</p>
<p class="lite-disclaimer">
<?php
printf(
wp_kses( /* translators: %s - WPForms.com Documentation page URL. */
__( 'Backups are completely free, 100%% secure, and you can turn them on in a few clicks! <a href="%s" target="_blank" rel="noopener noreferrer">Enable entry backups now.</a>', 'wpforms-lite' ),
[
'a' => [
'href' => [],
'rel' => [],
'target' => [],
],
]
),
'https://wpforms.com/docs/how-to-use-lite-connect-for-wpforms/?utm_source=WordPress&utm_medium=Weekly%20Summary%20Email&utm_campaign=liteplugin&utm_content=Documentation#backup-with-lite-connect'
);
?>
</p>
<p class="lite-disclaimer">
<?php
printf(
wp_kses( /* translators: %s - WPForms.com Upgrade page URL. */
__( 'When youre ready to manage your entries inside WordPress, <a href="%s" target="_blank" rel="noopener noreferrer">upgrade to Pro</a> to import your entries.', 'wpforms-lite' ),
[
'a' => [
'href' => [],
'rel' => [],
'target' => [],
],
]
),
'https://wpforms.com/lite-upgrade/?utm_source=WordPress&utm_medium=Weekly%20Summary%20Email&utm_campaign=liteplugin&utm_content=Upgrade&utm_locale=' . wpforms_sanitize_key( get_locale() )
);
?>
</p>
<?php endif; ?>
<?php endif; ?>
<table class="email-summaries">
<thead>
<tr>
<th><?php esc_html_e( 'Form', 'wpforms-lite' ); ?></th>
<th class="entries-column text-center"><?php esc_html_e( 'Entries', 'wpforms-lite' ); ?></th>
</tr>
</thead>
<tbody>
<?php foreach ( $entries as $row ) : ?>
<tr>
<td class="text-large"><?php echo isset( $row['title'] ) ? esc_html( $row['title'] ) : ''; ?></td>
<td class="entry-count text-large">
<?php if ( empty( $row['edit_url'] ) ) : ?>
<span>
<?php echo isset( $row['count'] ) ? absint( $row['count'] ) : ''; ?>
</span>
<?php else : ?>
<a href="<?php echo esc_url( $row['edit_url'] ); ?>">
<?php echo isset( $row['count'] ) ? absint( $row['count'] ) : ''; ?>
</a>
<?php endif; ?>
</td>
</tr>
<?php endforeach; ?>
<?php if ( empty( $entries ) ) : ?>
<tr>
<td class="text-center" colspan="2"><?php esc_html_e( 'It appears you do not have any form entries yet.', 'wpforms-lite' ); ?></td>
</tr>
<?php endif; ?>
</tbody>
</table>
<?php if ( ! empty( $info_block ) ) : ?>
<table class="summary-info-table">
<?php if ( ! empty( $info_block['title'] ) || ! empty( $info_block['content'] ) ) : ?>
<tr>
<td class="summary-info-content">
<table>
<?php if ( ! empty( $info_block['title'] ) ) : ?>
<tr>
<td class="text-center">
<h6><?php echo esc_html( $info_block['title'] ); ?></h6>
</td>
</tr>
<?php endif; ?>
<?php if ( ! empty( $info_block['content'] ) ) : ?>
<tr>
<td class="text-center"><?php echo wp_kses_post( $info_block['content'] ); ?></td>
</tr>
<?php endif; ?>
</table>
</td>
</tr>
<?php endif; ?>
<?php if ( ! empty( $info_block['url'] ) && ! empty( $info_block['button'] ) ) : ?>
<tr>
<td class="summary-info-content button-container">
<center>
<table class="button rounded-button">
<tr>
<td>
<table>
<tr>
<td>
<a href="<?php echo esc_url( $info_block['url'] ); ?>" rel="noopener noreferrer" target="_blank">
<?php echo esc_html( $info_block['button'] ); ?>
</a>
</td>
</tr>
</table>
</td>
</tr>
</table>
</center>
</td>
</tr>
<?php endif; ?>
</table>
<?php endif; ?>
</td>
</tr>
</tbody>
</table>

View File

@@ -0,0 +1,25 @@
<?php
/**
* Summary footer template (plain text).
*
* This template can be overridden by copying it to yourtheme/wpforms/emails/summary-footer-plain.php.
*
* @since 1.6.2.3
*
* @version 1.6.2.3
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
echo "\n---\n\n";
printf( /* translators: %s - link to the site. */
esc_html__( 'This email was auto-generated and sent from %s.', 'wpforms-lite' ),
esc_html( wp_specialchars_decode( get_bloginfo( 'name' ) ) )
);
echo "\n";
printf( /* translators: %s - link to the documentation. */
esc_html__( 'Learn how to disable: %s.', 'wpforms-lite' ),
'https://wpforms.com/docs/how-to-use-email-summaries/#faq'
);

View File

@@ -0,0 +1,43 @@
<?php
/**
* Summary footer template.
*
* This template can be overridden by copying it to yourtheme/wpforms/emails/summary-footer.php.
*
* @since 1.6.2.3
*
* @version 1.6.2.3
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
</td>
</tr>
<tr>
<td align="center" valign="top" class="footer">
<?php
echo wp_kses(
sprintf( /* translators: %1$s - link to the site, %2$s - link to the documentation. */
__( 'This email was auto-generated and sent from %1$s. Learn <a href="%2$s">how to disable</a>.', 'wpforms-lite' ),
'<a href="' . esc_url( home_url() ) . '">' . esc_html( wp_specialchars_decode( get_bloginfo( 'name' ) ) ) . '</a>',
'https://wpforms.com/docs/how-to-use-email-summaries/#faq'
),
[
'a' => [
'href' => [],
],
]
);
?>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>

View File

@@ -0,0 +1,30 @@
<?php
/**
* Email Summary style template.
*
* This template can be overridden by copying it to yourtheme/wpforms/emails/summary-style.php.
*
* @since 1.5.4
*
* @version 1.5.4
*
* @var string $email_background_color
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
require \WPFORMS_PLUGIN_DIR . '/assets/css/emails/summary.min.css';
?>
body, .body {
background-color: <?php echo esc_attr( $email_background_color ); ?>;
}
<?php if ( ! empty( $header_image_max_width ) ) : ?>
.header img {
max-width: <?php echo esc_attr( $header_image_max_width ); ?>px;
}
<?php endif; ?>

View File

@@ -0,0 +1,32 @@
<?php
/**
* Content field preview and extend buttons template.
*
* @since 1.7.8
*
* @var int $id Field id.
* @var string $preview Preview button label.
* @var string $expand Expand button label.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div class="wpforms-field-content-action-buttons">
<button type="button" id="wpforms-field-option-<?php echo absint( $id ); ?>-update-preview" class="button wpforms-content-button-update-preview update-preview">
<?php echo esc_html( $preview ); ?>
</button>
<button type="button" id="wpforms-field-option-<?php echo absint( $id ); ?>-expand-editor" class="button wpforms-content-button-expand-editor expand-editor">
<svg class="expand" viewBox="0 0 14 14">
<path d="M6.625 8.875C6.8125 8.6875 6.8125 8.34375 6.625 8.15625L5.84375 7.375C5.65625 7.1875 5.3125 7.1875 5.125 7.375L2.25 10.25L1.25 9.25C0.78125 8.75 0 9.09375 0 9.75V13.25C0 13.6875 0.3125 14 0.71875 14H4.21875C4.90625 14 5.25 13.2188 4.75 12.75L3.75 11.75L6.625 8.875ZM7.34375 5.15625C7.15625 5.34375 7.15625 5.6875 7.34375 5.875L8.125 6.65625C8.3125 6.84375 8.65625 6.84375 8.84375 6.65625L11.75 3.75L12.7188 4.78125C13.1875 5.28125 14 4.9375 14 4.25V0.75C14 0.34375 13.6562 0 13.25 0H9.75C9.0625 0 8.71875 0.8125 9.21875 1.28125L10.25 2.25L7.34375 5.15625Z"/>
</svg>
<svg class="collapse" viewBox="0 0 14 14">
<path d="M0.140625 12.3594C-0.046875 12.5469 -0.046875 12.8594 0.140625 13.0469L0.953125 13.8594C1.14062 14.0469 1.45312 14.0469 1.64062 13.8594L4.76562 10.7344L5.73438 11.7656C6.20312 12.2656 7.01562 11.9219 7.01562 11.2344V7.73438C7.01562 7.32812 6.67188 6.98438 6.26562 6.98438H2.76562C2.07812 6.98438 1.73438 7.79688 2.23438 8.26562L3.26562 9.23438L0.140625 12.3594ZM13.8594 1.64062C14.0469 1.45312 14.0469 1.14062 13.8594 0.953125L13.0469 0.140625C12.8594 -0.046875 12.5469 -0.046875 12.3594 0.140625L9.26562 3.23438L8.26562 2.23438C7.79688 1.73438 7.01562 2.07812 7.01562 2.73438V6.23438C7.01562 6.67188 7.32812 6.98438 7.73438 6.98438H11.2344C11.9219 6.98438 12.2656 6.20312 11.7656 5.73438L10.7656 4.73438L13.8594 1.64062Z"/>
</svg>
<span clas="wpforms-expand-button-label">
<?php echo esc_html( $expand ); ?>
</span>
</button>
</div>

View File

@@ -0,0 +1,17 @@
<?php
/**
* Expanded icon for Internal Information Field.
*
* @since 1.7.6
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<span class="icon expanded">
<svg viewBox="0 0 10 7">
<path d="M5.83984 0.625C5.56641 0.378906 5.15625 0.378906 4.91016 0.625L1.19141 4.34375C0.917969 4.61719 0.917969 5.02734 1.19141 5.27344L1.79297 5.90234C2.06641 6.14844 2.47656 6.14844 2.72266 5.90234L5.375 3.25L8 5.90234C8.24609 6.14844 8.68359 6.14844 8.92969 5.90234L9.55859 5.27344C9.80469 5.02734 9.80469 4.61719 9.55859 4.34375L5.83984 0.625Z"/>
</svg>
</span>

View File

@@ -0,0 +1,17 @@
<?php
/**
* Light bulb icon for Internal Information Field.
*
* @since 1.7.6
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div class="internal-information-lightbulb">
<svg viewBox="0 0 14 20">
<path d="M3.75 17.97c0 .12 0 .23.08.35l.97 1.4c.12.2.32.28.51.28H8.4c.2 0 .39-.08.5-.27l.98-1.41c.04-.12.08-.23.08-.35v-1.72H3.75v1.72Zm3.13-5.47c.66 0 1.25-.55 1.25-1.25 0-.66-.6-1.25-1.26-1.25-.7 0-1.25.59-1.25 1.25 0 .7.55 1.25 1.25 1.25Zm0-12.5A6.83 6.83 0 0 0 0 6.88c0 1.75.63 3.32 1.68 4.53.66.74 1.68 2.3 2.03 3.59H5.6c0-.16 0-.35-.08-.55-.2-.7-.86-2.5-2.42-4.25a5.19 5.19 0 0 1-1.21-3.32c-.04-2.86 2.3-5 5-5 2.73 0 5 2.26 5 5 0 1.2-.47 2.38-1.26 3.32a11.72 11.72 0 0 0-2.42 4.25c-.07.2-.07.35-.07.55H10a10.56 10.56 0 0 1 2.03-3.6A6.85 6.85 0 0 0 6.88 0Zm-.4 8.75h.75c.3 0 .58-.23.62-.55l.5-3.75a.66.66 0 0 0-.62-.7H5.98a.66.66 0 0 0-.63.7l.5 3.75c.05.32.32.55.63.55Z"/>
</svg>
</div>

View File

@@ -0,0 +1,18 @@
<?php
/**
* Not expanded icon for Internal Information Field.
*
* @since 1.7.6
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<span class="icon not-expanded">
<svg viewBox="0 0 10 7">
<path d="M4.91016 5.90234C5.15625 6.14844 5.56641 6.14844 5.8125 5.90234L9.53125 2.18359C9.80469 1.91016 9.80469 1.5 9.53125 1.25391L8.92969 0.625C8.65625 0.378906 8.24609 0.378906 8 0.625L5.34766 3.27734L2.72266 0.625C2.47656 0.378906 2.06641 0.378906 1.79297 0.625L1.19141 1.25391C0.917969 1.5 0.917969 1.91016 1.19141 2.18359L4.91016 5.90234Z"/>
</svg>
</span>

View File

@@ -0,0 +1,27 @@
<?php
/**
* Minimum and maximum input template for Number field.
*
* @since 1.5.7
*
* @var int $field_id Field ID.
* @var string $input_min Minimum input.
* @var string $input_max Maximum input.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<div class="wpforms-input-row">
<div class="minimum">
<?php echo $input_min; // phpcs:ignore ?>
<label for="wpforms-field-option-<?php echo (int) $field_id; ?>-min" class="sub-label"><?php esc_html_e( 'Minimum', 'wpforms-lite' ); ?></label>
</div>
<div class="maximum">
<?php echo $input_max; // phpcs:ignore ?>
<label for="wpforms-field-option-<?php echo (int) $field_id; ?>-max" class="sub-label"><?php esc_html_e( 'Maximum', 'wpforms-lite' ); ?></label>
</div>
</div>

View File

@@ -0,0 +1,35 @@
<?php
/**
* Number Slider field builder preview.
*
* @since 1.5.7
*
* @var int $field_id Field ID.
* @var string $value_display Value display.
* @var string $value_hint Value hint.
* @var float $default_value Default value.
* @var float $min Minimum value.
* @var float $max Maximum value.
* @var float $step Step value.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<input type="range" readonly
class="wpforms-number-slider"
id="wpforms-number-slider-<?php echo (int) $field_id; ?>"
value="<?php echo (float) $default_value; ?>"
min="<?php echo (float) $min; ?>"
max="<?php echo (float) $max; ?>"
step="<?php echo (float) $step; ?>">
<div
id="wpforms-number-slider-hint-<?php echo (int) $field_id; ?>"
data-hint="<?php echo esc_attr( wp_kses_post( $value_display ) ); ?>"
class="wpforms-number-slider-hint">
<?php echo wp_kses_post( $value_hint ); ?>
</div>

View File

@@ -0,0 +1,38 @@
<?php
/**
* Number slider field frontend template.
*
* @since 1.5.7
*
* @var array $atts Additional HTML attributes.
* @var array $class HTML classes.
* @var array $datas Data attributes.
* @var float $default_value Default field value.
* @var float $max Upper range limit.
* @var float $min Lower range limit.
* @var float $step Allowed step.
* @var string $id Element ID.
* @var string $required Is field required or not.
* @var string $value_display Value output.
* @var string $value_hint Value hint output.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<input
type="range"
<?php wpforms_html_attributes( $id, $class, $datas, $atts, true ); ?>
<?php echo ! empty( $required ) ? 'required' : ''; ?>
value="<?php echo esc_attr( $default_value ); ?>"
min="<?php echo esc_attr( $min ); ?>"
max="<?php echo esc_attr( $max ); ?>"
step="<?php echo esc_attr( $step ); ?>">
<div class="wpforms-field-number-slider-hint"
data-hint="<?php echo esc_attr( wp_kses_post( $value_display ) ); ?>">
<?php echo wp_kses_post( $value_hint ); ?>
</div>

View File

@@ -0,0 +1,25 @@
<?php
/**
* Forms selector for Elementor page builder.
*
* @since 1.6.2
*
* @var string $forms Rendered <option>s for the select tag.
*/
if ( ! \defined( 'ABSPATH' ) ) {
exit;
}
?>
<div class="wpforms-elementor wpforms-elementor-form-selector">
<img src="<?php echo esc_url( WPFORMS_PLUGIN_URL . 'assets/images/integrations/elementor/wpforms-logo.svg' ); ?>" alt="WPForms Logo"/>
<div class="select-wrapper">
<select>
<?php echo $forms; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
</select>
</div>
</div>

View File

@@ -0,0 +1,47 @@
<?php
/**
* No forms template.
*
* @since 1.6.2
*/
if ( ! \defined( 'ABSPATH' ) ) {
exit;
}
?>
<div class="wpforms-admin-empty-state-container wpforms-elementor-no-forms">
<img src="<?php echo esc_url( WPFORMS_PLUGIN_URL . 'assets/images/empty-states/no-form-elementor.svg' ); ?>" alt=""/>
<p>
<?php
echo wp_kses(
__( 'You can use <b>WPForms</b> to build contact forms, surveys, payment forms, and more with just a few clicks.', 'wpforms-lite' ),
[ 'b' => [] ]
);
?>
</p>
<button type="button" class="wpforms-btn"><?php esc_html_e( 'Get Started', 'wpforms-lite' ); ?></button>
<p class="wpforms-admin-no-forms-footer">
<?php
printf(
wp_kses( /* translators: %s - URL to the documentation article. */
__( 'Need some help? Check out our <a href="%s" class="wpforms-comprehensive-link" target="_blank" rel="noopener noreferrer">comprehensive guide</a>.', 'wpforms-lite' ),
[
'a' => [
'href' => [],
'target' => [],
'rel' => [],
'class' => [],
],
]
),
'https://wpforms.com/docs/creating-first-form/'
);
?>
</p>
</div>

View File

@@ -0,0 +1,16 @@
<?php
/**
* Forms builder popup inside Elementor page builder.
*
* @since 1.6.2
*/
if ( ! \defined( 'ABSPATH' ) ) {
exit;
}
?>
<script type="text/html" id="tmpl-wpforms-builder-elementor-popup">
<div id="wpforms-builder-elementor-popup" class="wpforms-builder-popup" style="display:none;">
<iframe src="about:blank" width="100%" height="100%" id="wpforms-builder-iframe"></iframe>
</div>
</script>

View File

@@ -0,0 +1,107 @@
<?php
/**
* WPCode integration code snippets page.
*
* @since 1.8.5
*
* @var array $snippets WPCode snippets list.
* @var bool $action_required Indicate that user should install or activate WPCode.
* @var string $action Popup button action.
* @var string $plugin WPCode Lite download URL | WPCode Lite plugin slug.
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
?>
<?php
$container_class = $action_required ? 'wpforms-wpcode-blur' : '';
$popup_title = esc_html__( 'Please Install WPCode to Use the WPForms Snippet Library', 'wpforms-lite' );
$popup_button_text = esc_html__( 'Install + Activate WPCode', 'wpforms-lite' );
if ( $action === 'update' ) {
$popup_title = esc_html__( 'Please Update WPCode to Use the WPForms Snippet Library', 'wpforms-lite' );
$popup_button_text = esc_html__( 'Update + Activate WPCode', 'wpforms-lite' );
}
if ( $action === 'activate' ) {
$popup_title = esc_html__( 'Please Activate WPCode to Use the WPForms Snippet Library', 'wpforms-lite' );
$popup_button_text = esc_html__( 'Activate WPCode', 'wpforms-lite' );
}
?>
<div class="wpforms-wpcode">
<?php if ( $action_required ) : ?>
<div class="wpforms-wpcode-popup">
<div class="wpforms-wpcode-popup-title"><?php echo esc_html( $popup_title ); ?></div>
<div class="wpforms-wpcode-popup-description">
<?php esc_html_e( 'Using WPCode, you can install WPForms code snippets with 1 click right from this page or the WPCode Library in the WordPress admin.', 'wpforms-lite' ); ?>
</div>
<div data-action="<?php echo esc_attr( $action ); ?>" data-plugin="<?php echo esc_attr( $plugin ); ?>" class="wpforms-wpcode-popup-button wpforms-btn wpforms-btn-lg wpforms-btn-orange"><?php echo esc_html( $popup_button_text ); ?></div>
<a
href="https://wordpress.org/plugins/insert-headers-and-footers/?utm_source=wpformsplugin&utm_medium=WPCode+WordPress+Repo&utm_campaign=plugin&utm_content=WPCode"
class="wpforms-wpcode-popup-link">
<?php esc_html_e( 'Learn more about WPCode', 'wpforms-lite' ); ?>
</a>
</div>
<?php endif; ?>
<div class="wpforms-wpcode-container <?php echo sanitize_html_class( $container_class ); ?>">
<div class="wpforms-setting-row tools wpforms-wpcode-header">
<div class="wpforms-wpcode-header-meta">
<h4><?php esc_html_e( 'Code Snippets', 'wpforms-lite' ); ?></h4>
<p>
<?php
printf(
wp_kses( /* translators: %s - WPCode library website URL. */
__( 'Using WPCode, you can install WPForms code snippets with 1 click directly from this page or the <a href="%s" target="_blank" rel="noopener noreferrer">WPCode library</a>.', 'wpforms-lite' ),
[
'a' => [
'href' => [],
'rel' => [],
'target' => [],
],
]
),
esc_url( admin_url( 'admin.php?page=wpcode-library' ) )
);
?>
</p>
</div>
<div class="wpforms-wpcode-header-search">
<label for="wpforms-wpcode-snippet-search"></label>
<input
type="search" placeholder="<?php esc_attr_e( 'Search Snippets', 'wpforms-lite' ); ?>"
id="wpforms-wpcode-snippet-search">
</div>
</div>
<div id="wpforms-wpcode-snippets-list">
<div class="list">
<?php
foreach ( $snippets as $snippet ) :
$button_text = $snippet['installed'] ? __( 'Edit Snippet', 'wpforms-lite' ) : __( 'Install Snippet', 'wpforms-lite' );
$button_type_class = $snippet['installed'] ? 'button-primary' : 'button-secondary';
$button_action = $snippet['installed'] ? 'edit' : 'install';
$badge_text = $snippet['installed'] ? __( 'Installed', 'wpforms-lite' ) : '';
?>
<div class="wpforms-wpcode-snippet">
<div class="wpforms-wpcode-snippet-header">
<h3 class="wpforms-wpcode-snippet-title"><?php echo esc_html( $snippet['title'] ); ?></h3>
<div class="wpforms-wpcode-snippet-note"><?php echo esc_html( $snippet['note'] ); ?></div>
</div>
<div class="wpforms-wpcode-snippet-footer">
<div class="wpforms-wpcode-snippet-badge"><?php echo esc_html( $badge_text ); ?></div>
<a
href="<?php echo esc_url( $snippet['install'] ); ?>"
class="button wpforms-wpcode-snippet-button <?php echo sanitize_html_class( $button_type_class ); ?>"
data-action="<?php echo esc_attr( $button_action ); ?>"><?php echo esc_html( $button_text ); ?> </a>
</div>
</div>
<?php endforeach; ?>
</div>
<div id="wpforms-wpcode-no-results"><?php esc_html_e( "Sorry, we didn't find any snippets that match your criteria.", 'wpforms-lite' ); ?></div>
</div>
</div>
</div>