| @@ -4,13 +4,17 @@ | ||
| 4 | 4 | * |
| 5 | 5 | * @package automattic/jetpack |
| 6 | 6 | */ |
| 7 | 7 | |
| 8 | +if ( ! defined( 'ABSPATH' ) ) { | |
| 9 | + exit( 0 ); | |
| 10 | +} | |
| 11 | + | |
| 8 | 12 | use Automattic\Jetpack\Forms\Jetpack_Forms; |
| 9 | 13 | |
| 10 | 14 | /** |
| 11 | - * Module Name: Contact Form | |
| 12 | - * Module Description: Add a customizable contact form to any post or page using the Jetpack Form Block. | |
| 15 | + * Module Name: Forms | |
| 16 | + * Module Description: Add contact, registration, and feedback forms directly from the block editor. | |
| 13 | 17 | * Sort Order: 15 |
| 14 | 18 | * Recommendation Order: 14 |
| 15 | 19 | * First Introduced: 1.3 |
| 16 | 20 | * Requires Connection: No |
| @@ -16,140 +20,11 @@ | ||
| 16 | 20 | * Requires Connection: No |
| 17 | 21 | * Auto Activate: Yes |
| 18 | 22 | * Module Tags: Other |
| 19 | 23 | * Feature: Writing |
| 20 | - * Additional Search Queries: contact, form, grunion, feedback, submission, contact form, email, feedback, contact form plugin, custom form, custom form plugin, form builder, forms, form maker, survey, contact by jetpack, contact us, forms free | |
| 24 | + * Additional Search Queries: contact, form, grunion, feedback, submission, contact form, email, feedback, contact form plugin, custom form, custom form plugin, form builder, forms, form maker, survey, contact by jetpack, contact us, forms free, creator | |
| 21 | 25 | */ |
| 22 | 26 | |
| 23 | 27 | /** |
| 24 | - * Whether to load the newer Jetpack Forms package. | |
| 25 | - * | |
| 26 | - * @use add_filter( 'jetpack_contact_form_use_package', '__return_true' ); | |
| 27 | - * @module contact-form | |
| 28 | - * | |
| 29 | - * @since 11.8 | |
| 30 | - * | |
| 31 | - * @param bool $load_contact_form_package Load Jetpack Forms package. Default to false. | |
| 28 | + * Load the newer Jetpack Forms package. | |
| 32 | 29 | */ |
| 33 | -if ( apply_filters( 'jetpack_contact_form_use_package', true ) ) { | |
| 34 | - Jetpack_Forms::load_contact_form(); | |
| 35 | - return true; // Not returning true will cause the module to become deactivated. | |
| 36 | -} | |
| 37 | - | |
| 38 | -require_once __DIR__ . '/contact-form/grunion-contact-form.php'; | |
| 39 | - | |
| 40 | -/* | |
| 41 | - * Filters if the new Contact Form Editor View should be used. | |
| 42 | - * | |
| 43 | - * A temporary filter to disable the new Editor View for the older UI. | |
| 44 | - * Please note this filter and the old UI will be removed in the future. | |
| 45 | - * Expected to be removed in Jetpack 5.8 or if a security issue merits removing the old code sooner. | |
| 46 | - * | |
| 47 | - * @since 5.2.0 | |
| 48 | - * | |
| 49 | - * @param boolean $view Use new Editor View. Default true. | |
| 50 | - */ | |
| 51 | -if ( is_admin() && apply_filters( 'tmp_grunion_allow_editor_view', true ) ) { | |
| 52 | - require_once __DIR__ . '/contact-form/grunion-editor-view.php'; | |
| 53 | -} | |
| 54 | - | |
| 55 | -/** | |
| 56 | - * Register Jetpack Form patterns | |
| 57 | - */ | |
| 58 | -function jetpack_form_register_pattern() { | |
| 59 | - $category_slug = 'forms'; | |
| 60 | - register_block_pattern_category( $category_slug, array( 'label' => __( 'Forms', 'jetpack' ) ) ); | |
| 61 | - | |
| 62 | - $patterns = array( | |
| 63 | - 'contact-form' => array( | |
| 64 | - 'title' => 'Contact Form', | |
| 65 | - 'blockTypes' => array( 'jetpack/contact-form' ), | |
| 66 | - 'categories' => array( $category_slug ), | |
| 67 | - 'content' => '<!-- wp:jetpack/contact-form {"style":{"spacing":{"padding":{"top":"16px","right":"16px","bottom":"16px","left":"16px"}}}} --> | |
| 68 | - <div class="wp-block-jetpack-contact-form" style="padding-top:16px;padding-right:16px;padding-bottom:16px;padding-left:16px"> | |
| 69 | - <!-- wp:jetpack/field-name {"required":true} /--> | |
| 70 | - <!-- wp:jetpack/field-email {"required":true} /--> | |
| 71 | - <!-- wp:jetpack/field-textarea /--> | |
| 72 | - <!-- wp:jetpack/button {"element":"button","text":"Contact Us","lock":{"remove":true}} /--> | |
| 73 | - </div> | |
| 74 | - <!-- /wp:jetpack/contact-form -->', | |
| 75 | - ), | |
| 76 | - 'newsletter-form' => array( | |
| 77 | - 'title' => 'Newsletter Subscription Form', | |
| 78 | - 'blockTypes' => array( 'jetpack/contact-form' ), | |
| 79 | - 'categories' => array( $category_slug ), | |
| 80 | - 'content' => '<!-- wp:jetpack/contact-form {"style":{"spacing":{"padding":{"top":"16px","right":"16px","bottom":"16px","left":"16px"}}}} --> | |
| 81 | - <div class="wp-block-jetpack-contact-form" style="padding-top:16px;padding-right:16px;padding-bottom:16px;padding-left:16px"> | |
| 82 | - <!-- wp:jetpack/field-name {"required":true} /--> | |
| 83 | - <!-- wp:jetpack/field-email {"required":true} /--> | |
| 84 | - <!-- wp:jetpack/field-consent /--> | |
| 85 | - <!-- wp:jetpack/button {"element":"button","text":"Subscribe","lock":{"remove":true}} /--> | |
| 86 | - </div> | |
| 87 | - <!-- /wp:jetpack/contact-form -->', | |
| 88 | - ), | |
| 89 | - 'rsvp-form' => array( | |
| 90 | - 'title' => 'RSVP Form', | |
| 91 | - 'blockTypes' => array( 'jetpack/contact-form' ), | |
| 92 | - 'categories' => array( $category_slug ), | |
| 93 | - 'content' => '<!-- wp:jetpack/contact-form {"subject":"A new RSVP from your website","style":{"spacing":{"padding":{"top":"16px","right":"16px","bottom":"16px","left":"16px"}}}} --> | |
| 94 | - <div class="wp-block-jetpack-contact-form" style="padding-top:16px;padding-right:16px;padding-bottom:16px;padding-left:16px"> | |
| 95 | - <!-- wp:jetpack/field-name {"required":true} /--> | |
| 96 | - <!-- wp:jetpack/field-email {"required":true} /--> | |
| 97 | - <!-- wp:jetpack/field-radio {"label":"Attending?","required":true,"options":["Yes","No"]} /--> | |
| 98 | - <!-- wp:jetpack/field-textarea {"label":"Other Details"} /--> | |
| 99 | - <!-- wp:jetpack/button {"element":"button","text":"Send RSVP","lock":{"remove":true}} /--> | |
| 100 | - </div> | |
| 101 | - <!-- /wp:jetpack/contact-form -->', | |
| 102 | - ), | |
| 103 | - 'registration-form' => array( | |
| 104 | - 'title' => 'Registration Form', | |
| 105 | - 'blockTypes' => array( 'jetpack/contact-form' ), | |
| 106 | - 'categories' => array( $category_slug ), | |
| 107 | - 'content' => '<!-- wp:jetpack/contact-form {"subject":"A new registration from your website","style":{"spacing":{"padding":{"top":"16px","right":"16px","bottom":"16px","left":"16px"}}}} --> | |
| 108 | - <div class="wp-block-jetpack-contact-form" style="padding-top:16px;padding-right:16px;padding-bottom:16px;padding-left:16px"> | |
| 109 | - <!-- wp:jetpack/field-name {"required":true} /--> | |
| 110 | - <!-- wp:jetpack/field-email {"required":true} /--> | |
| 111 | - <!-- wp:jetpack/field-telephone {"label":"Phone Number"} /--> | |
| 112 | - <!-- wp:jetpack/field-select {"label":"How did you hear about us?","options":["Search Engine","Social Media","TV","Radio","Friend or Family"]} /--> | |
| 113 | - <!-- wp:jetpack/field-textarea {"label":"Other Details"} /--> | |
| 114 | - <!-- wp:jetpack/button {"element":"button","text":"Send","lock":{"remove":true}} /--> | |
| 115 | - </div> | |
| 116 | - <!-- /wp:jetpack/contact-form -->', | |
| 117 | - ), | |
| 118 | - 'appointment-form' => array( | |
| 119 | - 'title' => 'Appointment Form', | |
| 120 | - 'blockTypes' => array( 'jetpack/contact-form' ), | |
| 121 | - 'categories' => array( $category_slug ), | |
| 122 | - 'content' => '<!-- wp:jetpack/contact-form {"subject":"A new appointment booked from your website","style":{"spacing":{"padding":{"top":"16px","right":"16px","bottom":"16px","left":"16px"}}}} --> | |
| 123 | - <div class="wp-block-jetpack-contact-form" style="padding-top:16px;padding-right:16px;padding-bottom:16px;padding-left:16px"> | |
| 124 | - <!-- wp:jetpack/field-name {"required":true} /--> | |
| 125 | - <!-- wp:jetpack/field-email {"required":true} /--> | |
| 126 | - <!-- wp:jetpack/field-telephone {"required":true} /--> | |
| 127 | - <!-- wp:jetpack/field-date {"label":"Date","required":true} /--> | |
| 128 | - <!-- wp:jetpack/field-radio {"label":"Time","required":true,"options":["Morning","Afternoon"]} /--> | |
| 129 | - <!-- wp:jetpack/field-textarea {"label":"Notes"} /--> | |
| 130 | - <!-- wp:jetpack/button {"element":"button","text":"Book Appointment","lock":{"remove":true}} /--> | |
| 131 | - </div> | |
| 132 | - <!-- /wp:jetpack/contact-form -->', | |
| 133 | - ), | |
| 134 | - 'feedback-form' => array( | |
| 135 | - 'title' => 'Feedback Form', | |
| 136 | - 'blockTypes' => array( 'jetpack/contact-form' ), | |
| 137 | - 'categories' => array( $category_slug ), | |
| 138 | - 'content' => '<!-- wp:jetpack/contact-form {"subject":"New feedback received from your website","style":{"spacing":{"padding":{"top":"16px","right":"16px","bottom":"16px","left":"16px"}}}} --> | |
| 139 | - <div class="wp-block-jetpack-contact-form" style="padding-top:16px;padding-right:16px;padding-bottom:16px;padding-left:16px"> | |
| 140 | - <!-- wp:jetpack/field-name {"required":true} /--> | |
| 141 | - <!-- wp:jetpack/field-email {"required":true} /--> | |
| 142 | - <!-- wp:jetpack/field-radio {"label":"Please rate our website","required":true,"options":["1 - Very Bad","2 - Poor","3 - Average","4 - Good","5 - Excellent"]} /--> | |
| 143 | - <!-- wp:jetpack/field-textarea {"label":"How could we improve?"} /--> | |
| 144 | - <!-- wp:jetpack/button {"element":"button","text":"Send Feedback","lock":{"remove":true}} /--> | |
| 145 | - </div> | |
| 146 | - <!-- /wp:jetpack/contact-form -->', | |
| 147 | - ), | |
| 148 | - ); | |
| 149 | - | |
| 150 | - foreach ( $patterns as $name => $pattern ) { | |
| 151 | - register_block_pattern( $name, $pattern ); | |
| 152 | - } | |
| 153 | -} | |
| 154 | - | |
| 155 | -add_action( 'init', 'jetpack_form_register_pattern' ); | |
| 30 | +Jetpack_Forms::load_contact_form(); | |