hooks(); } /** * Hooks. * * @since 1.5.1 */ public function hooks() { // Only proceed for the form builder. if ( ! \wpforms_is_admin_page( 'builder' ) ) { return; } \add_filter( 'wpforms_lite_builder_strings', array( $this, 'js_strings' ) ); \add_action( 'wpforms_builder_enqueues_before', array( $this, 'enqueues' ) ); \add_action( 'wpforms_setup_panel_after', array( $this, 'templates' ) ); \add_filter( 'wpforms_builder_fields_buttons', array( $this, 'fields' ), 50 ); \add_action( 'wpforms_builder_after_panel_sidebar', array( $this, 'settings' ), 100, 2 ); \add_action( 'wpforms_providers_panel_sidebar', array( $this, 'providers' ), 50 ); \add_action( 'wpforms_payments_panel_sidebar', array( $this, 'payments' ), 50 ); } /** * Localize needed strings. * * @since 1.5.1 * * @param array $strings JS strings. * * @return array */ public function js_strings( $strings ) { $strings['upgrade_title'] = \esc_html__( 'is a PRO Feature', 'wpforms-lite' ); $strings['upgrade_message'] = '

' . \esc_html__( 'We\'re sorry, the %name% is not available on your plan. Please upgrade to the PRO plan to unlock all these awesome features.', 'wpforms-lite' ) . '

'; $strings['upgrade_bonus'] = '

' . \wp_kses( __( 'Bonus: WPForms Lite users get 50% off regular price, automatically applied at checkout.', 'wpforms-lite' ), array( 'strong' => array(), 'span' => array(), ) ) . '

'; $strings['upgrade_doc'] = '' . \esc_html__( 'Already purchased?' ) . ''; $strings['upgrade_button'] = \esc_html__( 'Upgrade to PRO', 'wpforms-lite' ); $strings['upgrade_url'] = \esc_url( \wpforms_admin_upgrade_link( 'builder-modal' ) ); $strings['upgrade_modal'] = \wpforms_get_upgrade_modal_text(); return $strings; } /** * Load enqueues. * * @since 1.5.1 */ public function enqueues() { $min = \wpforms_get_min_suffix(); \wp_enqueue_script( 'wpforms-builder-education', \WPFORMS_PLUGIN_URL . "lite/assets/js/admin/builder-education{$min}.js", array( 'jquery', 'jquery-confirm' ), \WPFORMS_VERSION, false ); } /** * Display templates. * * @since 1.5.1 */ public function templates() { $templates = array( array( 'name' => \esc_html__( 'Request A Quote Form', 'wpforms-lite' ), 'slug' => 'request-quote', 'description' => \esc_html__( 'Start collecting leads with this pre-made Request a quote form. You can add and remove fields as needed.', 'wpforms-lite' ), ), array( 'name' => \esc_html__( 'Donation Form', 'wpforms-lite' ), 'slug' => 'donation', 'description' => \esc_html__( 'Start collecting donation payments on your website with this ready-made Donation form. You can add and remove fields as needed.', 'wpforms-lite' ), ), array( 'name' => \esc_html__( 'Billing / Order Form', 'wpforms-lite' ), 'slug' => 'order', 'description' => \esc_html__( 'Collect payments for product and service orders with this ready-made form template. You can add and remove fields as needed.', 'wpforms-lite' ), ), ); ?>

'fa-phone', 'name' => \esc_html__( 'Phone', 'wpforms-lite' ), 'type' => 'phone', 'order' => '1', 'class' => 'upgrade-modal', ), array( 'icon' => 'fa-map-marker', 'name' => \esc_html__( 'Address', 'wpforms-lite' ), 'type' => 'address', 'order' => '2', 'class' => 'upgrade-modal', ), array( 'icon' => 'fa-calendar-o', 'name' => \esc_html__( 'Date / Time', 'wpforms-lite' ), 'type' => 'date-time', 'order' => '3', 'class' => 'upgrade-modal', ), array( 'icon' => 'fa-link', 'name' => \esc_html__( 'Website / URL', 'wpforms-lite' ), 'type' => 'url', 'order' => '4', 'class' => 'upgrade-modal', ), array( 'icon' => 'fa-upload', 'name' => \esc_html__( 'File Upload', 'wpforms-lite' ), 'type' => 'file-upload', 'order' => '5', 'class' => 'upgrade-modal', ), array( 'icon' => 'fa-lock', 'name' => \esc_html__( 'Password', 'wpforms-lite' ), 'type' => 'password', 'order' => '6', 'class' => 'upgrade-modal', ), array( 'icon' => 'fa-files-o', 'name' => \esc_html__( 'Page Break', 'wpforms-lite' ), 'type' => 'pagebreak', 'order' => '7', 'class' => 'upgrade-modal', ), array( 'icon' => 'fa-arrows-h', 'name' => \esc_html__( 'Section Divider', 'wpforms-lite' ), 'type' => 'divider', 'order' => '8', 'class' => 'upgrade-modal', ), array( 'icon' => 'fa-eye-slash', 'name' => \esc_html__( 'Hidden Field', 'wpforms-lite' ), 'type' => 'hidden', 'order' => '9', 'class' => 'upgrade-modal', ), array( 'icon' => 'fa-code', 'name' => \esc_html__( 'HTML', 'wpforms-lite' ), 'type' => 'html', 'order' => '10', 'class' => 'upgrade-modal', ), array( 'icon' => 'fa-star', 'name' => \esc_html__( 'Rating', 'wpforms-lite' ), 'type' => 'rating', 'order' => '11', 'class' => 'upgrade-modal', ), array( 'icon' => 'fa-question-circle', 'name' => \esc_html__( 'Captcha', 'wpforms-lite' ), 'type' => 'captcha', 'order' => '12', 'class' => 'upgrade-modal', ), array( 'icon' => 'fa-pencil', 'name' => \esc_html__( 'Signature', 'wpforms-lite' ), 'type' => 'signature', 'order' => '13', 'class' => 'upgrade-modal', ), array( 'icon' => 'fa-ellipsis-h', 'name' => \esc_html__( 'Likert Scale', 'wpforms-lite' ), 'type' => 'likert_scale', 'order' => '14', 'class' => 'upgrade-modal', ), array( 'icon' => 'fa-tachometer', 'name' => \esc_html__( 'Net Promoter Score', 'wpforms-lite' ), 'type' => 'net_promoter_score', 'order' => '15', 'class' => 'upgrade-modal', ), ); $fields['payment']['fields'] = array( array( 'icon' => 'fa-file-o', 'name' => \esc_html__( 'Single Item', 'wpforms-lite' ), 'type' => 'payment-single', 'order' => '1', 'class' => 'upgrade-modal', ), array( 'icon' => 'fa-list-ul', 'name' => \esc_html__( 'Multiple Items', 'wpforms-lite' ), 'type' => 'payment-multiple', 'order' => '2', 'class' => 'upgrade-modal', ), array( 'icon' => 'fa-check-square-o', 'name' => \esc_html__( 'Checkbox Items', 'wpforms-lite' ), 'type' => 'payment-checkbox', 'order' => '3', 'class' => 'upgrade-modal', ), array( 'icon' => 'fa-caret-square-o-down', 'name' => \esc_html__( 'Dropdown Items', 'wpforms-lite' ), 'type' => 'payment-select', 'order' => '4', 'class' => 'upgrade-modal', ), array( 'icon' => 'fa-money', 'name' => \esc_html__( 'Total', 'wpforms-lite' ), 'type' => 'payment-total', 'order' => '5', 'class' => 'upgrade-modal', ), ); return $fields; } /** * Display settings panels. * * @since 1.5.1 * * @param object $form Current form. * @param string $slug Panel slug. */ public function settings( $form, $slug ) { if ( 'settings' !== $slug ) { return; } $settings = array( array( 'name' => 'Conversational Forms', 'slug' => 'conversational-forms', 'plugin' => 'wpforms-conversational-forms/wpforms-conversational-forms.php', 'plugin_slug' => 'wpforms-conversational-forms', ), array( 'name' => 'Surveys and Polls', 'slug' => 'surveys-polls', 'plugin' => 'wpforms-surveys-polls/wpforms-surveys-polls.php', 'plugin_slug' => 'wpforms-surveys-polls', ), array( 'name' => 'Form Pages', 'slug' => 'form-pages', 'plugin' => 'wpforms-form-pages/wpforms-form-pages.php', 'plugin_slug' => 'wpforms-form-pages', ), array( 'name' => 'Form Locker', 'slug' => 'form-locker', 'plugin' => 'wpforms-form-locker/wpforms-form-locker.php', 'plugin_slug' => 'wpforms-form-locker', ), array( 'name' => 'Form Abandonment', 'slug' => 'form-abandonment', 'plugin' => 'wpforms-form-abandonment/wpforms-form-abandonment.php', 'plugin_slug' => 'wpforms-form-abandonment', ), array( 'name' => 'Post Submissions', 'slug' => 'post-submissions', 'plugin' => 'wpforms-post-submissions/wpforms-post-submissions.php', 'plugin_slug' => 'wpforms-post-submissions', ), ); foreach ( $settings as $setting ) { /* translators: %s - addon name*/ $modal_name = sprintf( \esc_html__( '%s addon', 'wpforms' ), $setting['name'] ); printf( '', \esc_attr( $setting['slug'] ), \esc_attr( $modal_name ), \esc_attr( $setting['name'] ) ); echo \esc_html( $setting['name'] ); echo ''; echo ''; } } /** * Display providers. * * @since 1.5.1 */ public function providers() { $providers = array( array( 'name' => 'AWeber', 'slug' => 'aweber', 'img' => 'addon-icon-aweber.png', ), array( 'name' => 'Campaign Monitor', 'slug' => 'campaign-monitor', 'img' => 'addon-icon-campaign-monitor.png', ), array( 'name' => 'Drip', 'slug' => 'drip', 'img' => 'addon-icon-drip.png', ), array( 'name' => 'GetResponse', 'slug' => 'getresponse', 'img' => 'addon-icon-getresponse.png', ), array( 'name' => 'MailChimp', 'slug' => 'mailchimp', 'img' => 'addon-icon-mailchimp.png', ), array( 'name' => 'Zapier', 'slug' => 'zapier', 'img' => 'addon-icon-zapier.png', ), ); foreach ( $providers as $provider ) { /* translators: %s - addon name*/ $modal_name = sprintf( \esc_html__( '%s addon', 'wpforms-lite' ), $provider['name'] ); echo ''; echo ''; echo \esc_html( $provider['name'] ); echo ''; echo ''; } } /** * Display payments. * * @since 1.5.1 */ public function payments() { $payments = array( array( 'name' => 'PayPal Standard', 'slug' => 'paypal_standard', 'img' => 'addon-icon-paypal.png', ), array( 'name' => 'Stripe', 'slug' => 'stripe', 'img' => 'addon-icon-stripe.png', ), ); foreach ( $payments as $payment ) { /* translators: %s - addon name*/ $modal_name = sprintf( \esc_html__( '%s addon', 'wpforms-lite' ), $payment['name'] ); echo ''; echo ''; echo \esc_html( $payment['name'] ); echo ''; echo ''; } } }