354 lines
14 KiB
PHP
354 lines
14 KiB
PHP
<?php
|
||
|
||
if ( ! defined( 'ABSPATH' ) ) {
|
||
exit;
|
||
}
|
||
|
||
/**
|
||
* Welcome page class.
|
||
*
|
||
* This page is shown when the plugin is activated.
|
||
*
|
||
* @since 1.0.0
|
||
*/
|
||
class WPForms_Welcome {
|
||
|
||
/**
|
||
* Hidden welcome page slug.
|
||
*
|
||
* @since 1.5.6
|
||
*/
|
||
const SLUG = 'wpforms-getting-started';
|
||
|
||
/**
|
||
* Primary class constructor.
|
||
*
|
||
* @since 1.0.0
|
||
*/
|
||
public function __construct() {
|
||
|
||
add_action( 'plugins_loaded', [ $this, 'hooks' ] );
|
||
}
|
||
|
||
/**
|
||
* Register all WP hooks.
|
||
*
|
||
* @since 1.5.6
|
||
*/
|
||
public function hooks() {
|
||
|
||
// If user is in admin ajax or doing cron, return.
|
||
if ( wp_doing_ajax() || wp_doing_cron() ) {
|
||
return;
|
||
}
|
||
|
||
// If user cannot manage_options, return.
|
||
if ( ! wpforms_current_user_can() ) {
|
||
return;
|
||
}
|
||
|
||
add_action( 'admin_menu', [ $this, 'register' ] );
|
||
add_action( 'admin_head', [ $this, 'hide_menu' ] );
|
||
add_action( 'admin_init', [ $this, 'redirect' ], 9999 );
|
||
}
|
||
|
||
/**
|
||
* Register the pages to be used for the Welcome screen (and tabs).
|
||
*
|
||
* These pages will be removed from the Dashboard menu, so they will
|
||
* not actually show. Sneaky, sneaky.
|
||
*
|
||
* @since 1.0.0
|
||
*/
|
||
public function register() {
|
||
|
||
// Getting started - shows after installation.
|
||
add_dashboard_page(
|
||
esc_html__( 'Welcome to WPForms', 'wpforms-lite' ),
|
||
esc_html__( 'Welcome to WPForms', 'wpforms-lite' ),
|
||
apply_filters( 'wpforms_welcome_cap', wpforms_get_capability_manage_options() ),
|
||
self::SLUG,
|
||
[ $this, 'output' ]
|
||
);
|
||
}
|
||
|
||
/**
|
||
* Removed the dashboard pages from the admin menu.
|
||
*
|
||
* This means the pages are still available to us, but hidden.
|
||
*
|
||
* @since 1.0.0
|
||
*/
|
||
public function hide_menu() {
|
||
|
||
remove_submenu_page( 'index.php', self::SLUG );
|
||
}
|
||
|
||
/**
|
||
* Welcome screen redirect.
|
||
*
|
||
* This function checks if a new install or update has just occurred. If so,
|
||
* then we redirect the user to the appropriate page.
|
||
*
|
||
* @since 1.0.0
|
||
*/
|
||
public function redirect() {
|
||
|
||
// Check if we should consider redirection.
|
||
if ( ! get_transient( 'wpforms_activation_redirect' ) ) {
|
||
return;
|
||
}
|
||
|
||
// If we are redirecting, clear the transient so it only happens once.
|
||
delete_transient( 'wpforms_activation_redirect' );
|
||
|
||
// Check option to disable welcome redirect.
|
||
if ( get_option( 'wpforms_activation_redirect', false ) ) {
|
||
return;
|
||
}
|
||
|
||
// Only do this for single site installs.
|
||
if ( isset( $_GET['activate-multi'] ) || is_network_admin() ) { // WPCS: CSRF ok.
|
||
return;
|
||
}
|
||
|
||
// Check if this is an update or first install.
|
||
$upgrade = get_option( 'wpforms_version_upgraded_from' );
|
||
|
||
if ( ! $upgrade ) {
|
||
// Initial install.
|
||
wp_safe_redirect( admin_url( 'index.php?page=' . self::SLUG ) );
|
||
exit;
|
||
}
|
||
}
|
||
|
||
/**
|
||
* Getting Started screen. Shows after first install.
|
||
*
|
||
* @since 1.0.0
|
||
*/
|
||
public function output() {
|
||
|
||
$class = wpforms()->is_pro() ? 'pro' : 'lite';
|
||
?>
|
||
|
||
<div id="wpforms-welcome" class="<?php echo sanitize_html_class( $class ); ?>">
|
||
|
||
<div class="container">
|
||
|
||
<div class="intro">
|
||
|
||
<div class="sullie">
|
||
<img src="<?php echo WPFORMS_PLUGIN_URL; ?>assets/images/sullie.png" alt="<?php esc_attr_e( 'Sullie the WPForms mascot', 'wpforms-lite' ); ?>">
|
||
</div>
|
||
|
||
<div class="block">
|
||
<h1><?php esc_html_e( 'Welcome to WPForms', 'wpforms-lite' ); ?></h1>
|
||
<h6><?php esc_html_e( 'Thank you for choosing WPForms - the most powerful drag & drop WordPress form builder in the market.', 'wpforms-lite' ); ?></h6>
|
||
</div>
|
||
|
||
<a href="#" class="play-video" title="<?php esc_attr_e( 'Watch how to create your first form', 'wpforms-lite' ); ?>">
|
||
<img src="<?php echo WPFORMS_PLUGIN_URL; ?>assets/images/welcome-video.png" alt="<?php esc_attr_e( 'Watch how to create your first form', 'wpforms-lite' ); ?>" class="video-thumbnail">
|
||
</a>
|
||
|
||
<div class="block">
|
||
|
||
<h6><?php esc_html_e( 'WPForms makes it easy to create forms in WordPress. You can watch the video tutorial or read our guide on how create your first form.', 'wpforms-lite' ); ?></h6>
|
||
|
||
<div class="button-wrap wpforms-clear">
|
||
<div class="left">
|
||
<a href="<?php echo esc_url( admin_url( 'admin.php?page=wpforms-builder' ) ); ?>" class="wpforms-btn wpforms-btn-block wpforms-btn-lg wpforms-btn-orange">
|
||
<?php esc_html_e( 'Create Your First Form', 'wpforms-lite' ); ?>
|
||
</a>
|
||
</div>
|
||
<div class="right">
|
||
<a href="<?php echo esc_url( wpforms_utm_link( 'https://wpforms.com/docs/creating-first-form/', 'welcome-page', 'Read the Full Guide' ) ); ?>"
|
||
class="wpforms-btn wpforms-btn-block wpforms-btn-lg wpforms-btn-grey" target="_blank" rel="noopener noreferrer">
|
||
<?php esc_html_e( 'Read the Full Guide', 'wpforms-lite' ); ?>
|
||
</a>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
</div><!-- /.intro -->
|
||
|
||
<?php do_action( 'wpforms_welcome_intro_after' ); ?>
|
||
|
||
<div class="features">
|
||
|
||
<div class="block">
|
||
|
||
<h1><?php esc_html_e( 'WPForms Features & Addons', 'wpforms-lite' ); ?></h1>
|
||
<h6><?php esc_html_e( 'WPForms is both easy to use and extremely powerful. We have tons of helpful features that allow us to give you everything you need from a form builder.', 'wpforms-lite' ); ?></h6>
|
||
|
||
<div class="feature-list wpforms-clear">
|
||
|
||
<div class="feature-block first">
|
||
<img src="<?php echo WPFORMS_PLUGIN_URL; ?>assets/images/welcome-feature-icon-1.png">
|
||
<h5><?php esc_html_e( 'Drag & Drop Form Builder', 'wpforms-lite' ); ?></h5>
|
||
<p><?php esc_html_e( 'Easily create an amazing form in just a few minutes without writing any code.', 'wpforms-lite' ); ?></p>
|
||
</div>
|
||
|
||
<div class="feature-block last">
|
||
<img src="<?php echo WPFORMS_PLUGIN_URL; ?>assets/images/welcome-feature-icon-2.png">
|
||
<h5><?php esc_html_e( 'Form Templates', 'wpforms-lite' ); ?></h5>
|
||
<p><?php esc_html_e( 'Start with pre-built form templates to save even more time.', 'wpforms-lite' ); ?></p>
|
||
</div>
|
||
|
||
<div class="feature-block first">
|
||
<img src="<?php echo WPFORMS_PLUGIN_URL; ?>assets/images/welcome-feature-icon-3.png">
|
||
<h5><?php esc_html_e( 'Responsive Mobile Friendly', 'wpforms-lite' ); ?></h5>
|
||
<p><?php esc_html_e( 'WPForms is 100% responsive meaning it works on mobile, tablets & desktop.', 'wpforms-lite' ); ?></p>
|
||
</div>
|
||
|
||
<div class="feature-block last">
|
||
<img src="<?php echo WPFORMS_PLUGIN_URL; ?>assets/images/welcome-feature-icon-4.png">
|
||
<h5><?php esc_html_e( 'Smart Conditional Logic', 'wpforms-lite' ); ?></h5>
|
||
<p><?php esc_html_e( 'Easily create high performance forms with our smart conditional logic.', 'wpforms-lite' ); ?></p>
|
||
</div>
|
||
|
||
<div class="feature-block first">
|
||
<img src="<?php echo WPFORMS_PLUGIN_URL; ?>assets/images/welcome-feature-icon-5.png">
|
||
<h5><?php esc_html_e( 'Instant Notifications', 'wpforms-lite' ); ?></h5>
|
||
<p><?php esc_html_e( 'Respond to leads quickly with our instant form notification feature for your team.', 'wpforms-lite' ); ?></p>
|
||
</div>
|
||
|
||
<div class="feature-block last">
|
||
<img src="<?php echo WPFORMS_PLUGIN_URL; ?>assets/images/welcome-feature-icon-6.png">
|
||
<h5><?php esc_html_e( 'Entry Management', 'wpforms-lite' ); ?></h5>
|
||
<p><?php esc_html_e( 'View all your leads in one place to streamline your workflow.', 'wpforms-lite' ); ?></p>
|
||
</div>
|
||
|
||
<div class="feature-block first">
|
||
<img src="<?php echo WPFORMS_PLUGIN_URL; ?>assets/images/welcome-feature-icon-7.png">
|
||
<h5><?php esc_html_e( 'Payments Made Easy', 'wpforms-lite' ); ?></h5>
|
||
<p><?php esc_html_e( 'Easily collect payments, donations, and online orders without hiring a developer.', 'wpforms-lite' ); ?></p>
|
||
</div>
|
||
|
||
<div class="feature-block last">
|
||
<img src="<?php echo WPFORMS_PLUGIN_URL; ?>assets/images/welcome-feature-icon-8.png">
|
||
<h5><?php esc_html_e( 'Marketing & Subscriptions', 'wpforms-lite' ); ?></h5>
|
||
<p><?php esc_html_e( 'Create subscription forms and connect with your email marketing service.', 'wpforms-lite' ); ?></p>
|
||
</div>
|
||
|
||
<div class="feature-block first">
|
||
<img src="<?php echo WPFORMS_PLUGIN_URL; ?>assets/images/welcome-feature-icon-9.png">
|
||
<h5><?php esc_html_e( 'Easy to Embed', 'wpforms-lite' ); ?></h5>
|
||
<p><?php esc_html_e( 'Easily embed your forms in blog posts, pages, sidebar widgets, footer, etc.', 'wpforms-lite' ); ?></p>
|
||
</div>
|
||
|
||
<div class="feature-block last">
|
||
<img src="<?php echo WPFORMS_PLUGIN_URL; ?>assets/images/welcome-feature-icon-10.png">
|
||
<h5><?php esc_html_e( 'Spam Protection', 'wpforms-lite' ); ?></h5>
|
||
<p><?php esc_html_e( 'Our smart captcha and spam protection automatically prevents spam submissions.', 'wpforms-lite' ); ?></p>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="button-wrap">
|
||
<a href="<?php echo esc_url( wpforms_utm_link( 'https://wpforms.com/features/', 'welcome-page', 'See All Features' ) ); ?>"
|
||
class="wpforms-btn wpforms-btn-lg wpforms-btn-grey" rel="noopener noreferrer" target="_blank">
|
||
<?php esc_html_e( 'See All Features', 'wpforms-lite' ); ?>
|
||
</a>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
</div><!-- /.features -->
|
||
|
||
<div class="upgrade-cta upgrade">
|
||
|
||
<div class="block wpforms-clear">
|
||
|
||
<div class="left">
|
||
<h2><?php esc_html_e( 'Upgrade to PRO', 'wpforms-lite' ); ?></h2>
|
||
<ul>
|
||
<li><span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'Advanced Fields', 'wpforms-lite' ); ?></li>
|
||
<li><span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'Conditional Logic', 'wpforms-lite' ); ?></li>
|
||
<li><span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'Payment Forms', 'wpforms-lite' ); ?></li>
|
||
<li><span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'Surveys & Polls', 'wpforms-lite' ); ?></li>
|
||
<li><span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'Signatures', 'wpforms-lite' ); ?></li>
|
||
<li><span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'Form Abandonment', 'wpforms-lite' ); ?></li>
|
||
<li><span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'Entry Management', 'wpforms-lite' ); ?></li>
|
||
<li><span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'File Uploads', 'wpforms-lite' ); ?></li>
|
||
<li><span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'Geolocation', 'wpforms-lite' ); ?></li>
|
||
<li><span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'Conversational Forms', 'wpforms-lite' ); ?></li>
|
||
<li><span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'User Registration', 'wpforms-lite' ); ?></li>
|
||
<li><span class="dashicons dashicons-yes"></span> <?php esc_html_e( 'Marketing Integrations', 'wpforms-lite' ); ?></li>
|
||
</ul>
|
||
</div>
|
||
|
||
<div class="right">
|
||
<h2><span>PRO</span></h2>
|
||
<div class="price">
|
||
<span class="amount">199</span><br>
|
||
<span class="term"><?php esc_html_e( 'per year', 'wpforms-lite' ); ?></span>
|
||
</div>
|
||
<a href="<?php echo esc_url( wpforms_admin_upgrade_link( 'welcome', 'Upgrade Now CTA Section' ) ); ?>" rel="noopener noreferrer" target="_blank"
|
||
class="wpforms-btn wpforms-btn-block wpforms-btn-lg wpforms-btn-orange wpforms-upgrade-modal">
|
||
<?php esc_html_e( 'Upgrade Now', 'wpforms-lite' ); ?>
|
||
</a>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
|
||
<div class="testimonials upgrade">
|
||
|
||
<div class="block">
|
||
|
||
<h1><?php esc_html_e( 'Testimonials', 'wpforms-lite' ); ?></h1>
|
||
|
||
<div class="testimonial-block wpforms-clear">
|
||
<img src="<?php echo WPFORMS_PLUGIN_URL; ?>assets/images/welcome-testimonial-bill.jpg">
|
||
<p><?php esc_html_e( 'WPForms is by far the easiest form plugin to use. My clients love it – it’s one of the few plugins they can use without any training. As a developer I appreciate how fast, modern, clean and extensible it is.', 'wpforms-lite' ); ?>
|
||
<p>
|
||
<p><strong>Bill Erickson</strong>, Erickson Web Consulting</p>
|
||
</div>
|
||
|
||
<div class="testimonial-block wpforms-clear">
|
||
<img src="<?php echo WPFORMS_PLUGIN_URL; ?>assets/images/welcome-testimonial-david.jpg">
|
||
<p><?php esc_html_e( 'As a business owner, time is my most valuable asset. WPForms allow me to create smart online forms with just a few clicks. With their pre-built form templates and the drag & drop builder, I can create a new form that works in less than 2 minutes without writing a single line of code. Well worth the investment.', 'wpforms-lite' ); ?>
|
||
<p>
|
||
<p><strong>David Henzel</strong>, MaxCDN</p>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
</div><!-- /.testimonials -->
|
||
|
||
<div class="footer">
|
||
|
||
<div class="block wpforms-clear">
|
||
|
||
<div class="button-wrap wpforms-clear">
|
||
<div class="left">
|
||
<a href="<?php echo esc_url( admin_url( 'admin.php?page=wpforms-builder' ) ); ?>"
|
||
class="wpforms-btn wpforms-btn-block wpforms-btn-lg wpforms-btn-orange">
|
||
<?php esc_html_e( 'Create Your First Form', 'wpforms-lite' ); ?>
|
||
</a>
|
||
</div>
|
||
<div class="right">
|
||
<a href="<?php echo esc_url( wpforms_admin_upgrade_link( 'welcome', 'Upgrade to WPForms Pro' ) ); ?>" target="_blank" rel="noopener noreferrer"
|
||
class="wpforms-btn wpforms-btn-block wpforms-btn-lg wpforms-btn-trans-green wpforms-upgrade-modal">
|
||
<span class="underline">
|
||
<?php esc_html_e( 'Upgrade to WPForms Pro', 'wpforms-lite' ); ?> <span class="dashicons dashicons-arrow-right"></span>
|
||
</span>
|
||
</a>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
</div><!-- /.footer -->
|
||
|
||
</div><!-- /.container -->
|
||
|
||
</div><!-- /#wpforms-welcome -->
|
||
<?php
|
||
}
|
||
}
|
||
|
||
new WPForms_Welcome();
|