PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 13.3.3
Jetpack – WP Security, Backup, Speed, & Growth v13.3.3
12.0.3 12.1.3 12.2.3 12.3.2 12.4.2 12.5.2 12.6.4 12.7.3 12.8.3 12.9.5 13.0.2 13.1.5 13.2.4 13.3.3 13.4.5 13.5.2 13.6.2 13.7.2 13.8.3 13.9.2 14.0.1 14.1.1 14.2.2 14.3.1 14.4.2 14.5.1 14.6.1 14.7.1 14.8.1 14.9.2 15.0.3 15.1.2 15.2.1 15.3.2 15.4.1 15.5.1 15.6.1 15.7.2 15.8.1 15.9.2 16.0.2 16.1.3 16.2-a.5 16.2-a.3 16.1.2 16.2-a.1 16.1.1 16.1 16.1-beta 16.1-beta.2 16.1-beta.3 16.1-a.5 16.1-a.3 16.0.1 16.1-a.1 16.0 16.0-beta 16.0-a.7 16.0-a.5 15.9.1 16.0-a.3 16.0-a.1 15.9 15.9-beta 15.9-a.7 15.9-a.5 15.9-a.3 15.9-a.1 15.8 15.8-beta 15.8-a.7 15.8-a.5 5.2.5 5.3.4 5.4.4 5.5.5 5.6.5 5.7.5 5.8.4 5.9.4 6.0.4 6.1 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 6.2 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.3.5 6.3.6 6.3.7 6.4 6.4.1 6.4.2 6.4.3 6.4.4 6.4.5 6.4.6 6.5 6.5.1 6.5.2 6.5.3 6.5.4 6.6 6.6.1 6.6.2 6.6.3 6.6.4 6.6.5 6.7 6.7.1 6.7.2 6.7.3 6.7.4 6.8 6.8.1 6.8.2 6.8.3 6.8.4 6.8.5 6.9 6.9.1 6.9.2 6.9.3 6.9.4 7.0 7.0.1 7.0.2 7.0.3 7.0.4 7.0.5 7.1 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.2 7.2.1 7.2.1.1 7.2.2 7.2.3 7.2.4 7.2.5 7.3 7.3.0.1 7.3.1 7.3.1.1 7.3.2 7.3.3 7.3.4 7.3.5 7.4 7.4.1 7.4.2 7.4.3 7.4.4 7.4.5 7.5 7.5.0.1 7.5.1 7.5.2 7.5.3 7.5.4 7.5.5 7.5.6 7.5.7 7.6 7.6.1 7.6.2 7.6.3 7.6.4 7.7 7.7.1 7.7.2 7.7.3 7.7.4 7.7.5 7.7.6 7.8 7.8.1 7.8.2 7.8.3 7.8.4 7.9 7.9.1 7.9.2 7.9.3 7.9.4 8.0 8.0.1 8.0.2 8.0.3 8.1 8.1.1 8.1.2 8.1.3 8.1.4 8.2 8.2.0.1 8.2.1 8.2.2 8.2.3 8.2.4 8.2.5 8.2.6 8.3 8.3.1 8.3.2 8.3.3 8.4 8.4.1 8.4.2 8.4.3 8.4.4 8.4.5 8.5 8.5.1 8.5.2 8.5.3 8.6 8.6.1 8.6.2 8.6.3 8.6.4 8.7 8.7.0.1 8.7.1 8.7.2 8.7.3 8.7.4 8.8 8.8.1 8.8.2 8.8.3 8.8.4 8.8.5 8.9 8.9.1 8.9.2 8.9.3 8.9.4 9.0 9.0.1 9.0.2 9.0.3 9.0.4 9.0.5 9.1 9.1.1 9.1.2 9.1.3 9.2 9.2.1 9.2.2 9.2.3 9.2.4 9.3 9.3.1 9.3.2 9.3.3 9.3.4 9.3.5 9.4 9.4.1 9.4.2 9.4.3 9.4.4 9.5 9.5.1 9.5.2 9.5.3 9.5.4 9.5.5 9.6 9.6.1 9.6.2 9.6.3 9.6.4 9.7 9.7.1 9.7.2 15.7-beta.2 9.7.3 15.7.1 9.8 15.8-a.1 9.8.1 15.8-a.3 9.8.2 2.0.9 9.8.3 2.1.7 9.9 2.2.10 9.9.1 2.3.10 9.9.2 2.4.7 9.9.3 2.5.5 2.6.6 2.7.5 2.8.5 2.9.6 3.0.6 3.1.5 3.2.5 3.3.6 3.4.6 3.5.6 3.6.4 3.7.5 3.8.5 3.9.10 4.0.7 4.1.4 4.2.5 4.3.5 4.4.5 4.5.3 4.6.3 4.7.4 4.8.5 4.9.3 5.0.3 5.1.4 trunk 10.0 10.0.1 10.0.2 10.1 10.1.1 10.1.2 10.2 10.2.1 10.2.2 10.2.3 10.3 10.3.1 10.3.2 10.4 10.4.1 10.4.2 10.5 10.5.1 10.5.2 10.5.3 10.6 10.6.1 10.6.2 10.7 10.7.1 10.7.2 10.8 10.8.1 10.8.2 10.9 10.9.1 10.9.2 10.9.3 11.0 11.0.1 11.0.2 11.1 11.1.1 11.1.2 11.1.3 11.1.4 11.2 11.2.1 11.2.2 11.3 11.3.1 11.3.2 11.3.3 11.3.4 11.4 11.4.1 11.4.2 11.5 11.5.1 11.5.2 11.5.3 11.6 11.6.1 11.6.2 11.7 11.7.1 11.7.2 11.7.3 11.8 11.8.3 11.8.4 11.8.5 11.8.6 11.9 11.9.1 11.9.2 11.9.3 12.0 12.0.1 12.0.2 12.1 12.1.1 12.1.2 12.2 12.2.1 12.2.2 12.3 12.3.1 12.4 12.4.1 12.5 12.5.1 12.6 12.6.1 12.6.2 12.6.3 12.7 12.7.1 12.7.2 12.8 12.8.1 12.8.2 12.9 12.9.1 12.9.2 12.9.3 12.9.4 13.0 13.0.1 13.1 13.1.1 13.1.2 13.1.3 13.1.4 13.2 13.2.1 13.2.2 13.2.3 13.3 13.3.1 13.3.2 13.4 13.4.1 13.4.2 13.4.3 13.4.4 13.5 13.5.1 13.6 13.6.1 13.7 13.7.1 13.8 13.8.1 13.8.2 13.9 13.9.1 14.0 14.1 14.2 14.2.1 14.3 14.4 14.4.1 14.5 14.6 14.7 14.8 14.9 14.9.1 15.0 15.0.1 15.0.2 15.1 15.1.1 15.2 15.3 15.3.1 15.4 15.5 15.6 15.7 15.7-a.1 15.7-a.3 15.7-a.5 15.7-a.7 15.7-beta
jetpack / modules / contact-form.php
jetpack / modules Last commit date
calypsoify 2 years ago carousel 2 years ago cloudflare-analytics 4 years ago comment-likes 5 years ago comments 2 years ago contact-form 2 years ago custom-css 2 years ago custom-post-types 2 years ago geo-location 4 years ago google-analytics 2 years ago google-fonts 2 years ago gravatar 6 years ago infinite-scroll 2 years ago likes 2 years ago markdown 2 years ago masterbar 2 years ago memberships 2 years ago photon-cdn 2 years ago plugin-search 4 years ago post-by-email 3 years ago related-posts 2 years ago scan 2 years ago seo-tools 2 years ago sharedaddy 2 years ago shortcodes 2 years ago simple-payments 3 years ago site-icon 4 years ago sitemaps 2 years ago sso 2 years ago stats 2 years ago subscriptions 2 years ago theme-tools 2 years ago tiled-gallery 2 years ago verification-tools 4 years ago videopress 2 years ago widget-visibility 2 years ago widgets 2 years ago woocommerce-analytics 2 years ago wordads 2 years ago wpcom-block-editor 2 years ago wpcom-tos 5 years ago blaze.php 2 years ago carousel.php 2 years ago comment-likes.php 2 years ago comments.php 2 years ago contact-form.php 2 years ago copy-post.php 2 years ago custom-content-types.php 4 years ago custom-css.php 3 years ago enhanced-distribution.php 2 years ago geo-location.php 4 years ago google-analytics.php 4 years ago google-fonts.php 2 years ago gravatar-hovercards.php 2 years ago infinite-scroll.php 3 years ago json-api.php 5 years ago latex.php 4 years ago likes.php 2 years ago markdown.php 4 years ago masterbar.php 2 years ago module-extras.php 4 years ago module-headings.php 2 years ago module-info.php 2 years ago monitor.php 2 years ago notes.php 2 years ago photon-cdn.php 2 years ago photon.php 3 years ago plugin-search.php 2 years ago post-by-email.php 5 years ago post-list.php 4 years ago protect.php 3 years ago publicize.php 2 years ago related-posts.php 2 years ago search.php 4 years ago seo-tools.php 2 years ago sharedaddy.php 2 years ago shortcodes.php 2 years ago shortlinks.php 2 years ago sitemaps.php 4 years ago sso.php 2 years ago stats.php 2 years ago subscriptions.php 2 years ago theme-tools.php 3 years ago tiled-gallery.php 4 years ago vaultpress.php 2 years ago verification-tools.php 5 years ago videopress.php 4 years ago waf.php 3 years ago widget-visibility.php 4 years ago widgets.php 3 years ago woocommerce-analytics.php 2 years ago wordads.php 2 years ago wpgroho.js 6 years ago
contact-form.php
157 lines
1 <?php
2 /**
3 * Contact form module.
4 *
5 * @package automattic/jetpack
6 */
7
8 use Automattic\Jetpack\Forms\Jetpack_Forms;
9
10 /**
11 * Module Name: Contact Form
12 * Module Description: Add a customizable contact form to any post or page using the Jetpack Form Block.
13 * Sort Order: 15
14 * Recommendation Order: 14
15 * First Introduced: 1.3
16 * Requires Connection: No
17 * Auto Activate: Yes
18 * Module Tags: Other
19 * 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, creator
21 */
22
23 /**
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.
32 */
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 * @deprecated 13.2.0
49 *
50 * @param boolean $view Use new Editor View. Default true.
51 */
52 if ( is_admin() && apply_filters_deprecated( 'tmp_grunion_allow_editor_view', array( true ), '13.2.0', '', 'This functionality will be removed in an upcoming version.' ) ) {
53 require_once __DIR__ . '/contact-form/grunion-editor-view.php';
54 }
55
56 /**
57 * Register Jetpack Form patterns
58 */
59 function jetpack_form_register_pattern() {
60 $category_slug = 'forms';
61 register_block_pattern_category( $category_slug, array( 'label' => __( 'Forms', 'jetpack' ) ) );
62
63 $patterns = array(
64 'contact-form' => array(
65 'title' => 'Contact Form',
66 'blockTypes' => array( 'jetpack/contact-form' ),
67 'categories' => array( $category_slug ),
68 'content' => '<!-- wp:jetpack/contact-form {"style":{"spacing":{"padding":{"top":"16px","right":"16px","bottom":"16px","left":"16px"}}}} -->
69 <div class="wp-block-jetpack-contact-form" style="padding-top:16px;padding-right:16px;padding-bottom:16px;padding-left:16px">
70 <!-- wp:jetpack/field-name {"required":true} /-->
71 <!-- wp:jetpack/field-email {"required":true} /-->
72 <!-- wp:jetpack/field-textarea /-->
73 <!-- wp:jetpack/button {"element":"button","text":"Contact Us","lock":{"remove":true}} /-->
74 </div>
75 <!-- /wp:jetpack/contact-form -->',
76 ),
77 'newsletter-form' => array(
78 'title' => 'Newsletter Subscription Form',
79 'blockTypes' => array( 'jetpack/contact-form' ),
80 'categories' => array( $category_slug ),
81 'content' => '<!-- wp:jetpack/contact-form {"style":{"spacing":{"padding":{"top":"16px","right":"16px","bottom":"16px","left":"16px"}}}} -->
82 <div class="wp-block-jetpack-contact-form" style="padding-top:16px;padding-right:16px;padding-bottom:16px;padding-left:16px">
83 <!-- wp:jetpack/field-name {"required":true} /-->
84 <!-- wp:jetpack/field-email {"required":true} /-->
85 <!-- wp:jetpack/field-consent /-->
86 <!-- wp:jetpack/button {"element":"button","text":"Subscribe","lock":{"remove":true}} /-->
87 </div>
88 <!-- /wp:jetpack/contact-form -->',
89 ),
90 'rsvp-form' => array(
91 'title' => 'RSVP Form',
92 'blockTypes' => array( 'jetpack/contact-form' ),
93 'categories' => array( $category_slug ),
94 'content' => '<!-- wp:jetpack/contact-form {"subject":"A new RSVP from your website","style":{"spacing":{"padding":{"top":"16px","right":"16px","bottom":"16px","left":"16px"}}}} -->
95 <div class="wp-block-jetpack-contact-form" style="padding-top:16px;padding-right:16px;padding-bottom:16px;padding-left:16px">
96 <!-- wp:jetpack/field-name {"required":true} /-->
97 <!-- wp:jetpack/field-email {"required":true} /-->
98 <!-- wp:jetpack/field-radio {"label":"Attending?","required":true,"options":["Yes","No"]} /-->
99 <!-- wp:jetpack/field-textarea {"label":"Other Details"} /-->
100 <!-- wp:jetpack/button {"element":"button","text":"Send RSVP","lock":{"remove":true}} /-->
101 </div>
102 <!-- /wp:jetpack/contact-form -->',
103 ),
104 'registration-form' => array(
105 'title' => 'Registration Form',
106 'blockTypes' => array( 'jetpack/contact-form' ),
107 'categories' => array( $category_slug ),
108 'content' => '<!-- wp:jetpack/contact-form {"subject":"A new registration from your website","style":{"spacing":{"padding":{"top":"16px","right":"16px","bottom":"16px","left":"16px"}}}} -->
109 <div class="wp-block-jetpack-contact-form" style="padding-top:16px;padding-right:16px;padding-bottom:16px;padding-left:16px">
110 <!-- wp:jetpack/field-name {"required":true} /-->
111 <!-- wp:jetpack/field-email {"required":true} /-->
112 <!-- wp:jetpack/field-telephone {"label":"Phone Number"} /-->
113 <!-- wp:jetpack/field-select {"label":"How did you hear about us?","options":["Search Engine","Social Media","TV","Radio","Friend or Family"]} /-->
114 <!-- wp:jetpack/field-textarea {"label":"Other Details"} /-->
115 <!-- wp:jetpack/button {"element":"button","text":"Send","lock":{"remove":true}} /-->
116 </div>
117 <!-- /wp:jetpack/contact-form -->',
118 ),
119 'appointment-form' => array(
120 'title' => 'Appointment Form',
121 'blockTypes' => array( 'jetpack/contact-form' ),
122 'categories' => array( $category_slug ),
123 'content' => '<!-- wp:jetpack/contact-form {"subject":"A new appointment booked from your website","style":{"spacing":{"padding":{"top":"16px","right":"16px","bottom":"16px","left":"16px"}}}} -->
124 <div class="wp-block-jetpack-contact-form" style="padding-top:16px;padding-right:16px;padding-bottom:16px;padding-left:16px">
125 <!-- wp:jetpack/field-name {"required":true} /-->
126 <!-- wp:jetpack/field-email {"required":true} /-->
127 <!-- wp:jetpack/field-telephone {"required":true} /-->
128 <!-- wp:jetpack/field-date {"label":"Date","required":true} /-->
129 <!-- wp:jetpack/field-radio {"label":"Time","required":true,"options":["Morning","Afternoon"]} /-->
130 <!-- wp:jetpack/field-textarea {"label":"Notes"} /-->
131 <!-- wp:jetpack/button {"element":"button","text":"Book Appointment","lock":{"remove":true}} /-->
132 </div>
133 <!-- /wp:jetpack/contact-form -->',
134 ),
135 'feedback-form' => array(
136 'title' => 'Feedback Form',
137 'blockTypes' => array( 'jetpack/contact-form' ),
138 'categories' => array( $category_slug ),
139 'content' => '<!-- wp:jetpack/contact-form {"subject":"New feedback received from your website","style":{"spacing":{"padding":{"top":"16px","right":"16px","bottom":"16px","left":"16px"}}}} -->
140 <div class="wp-block-jetpack-contact-form" style="padding-top:16px;padding-right:16px;padding-bottom:16px;padding-left:16px">
141 <!-- wp:jetpack/field-name {"required":true} /-->
142 <!-- wp:jetpack/field-email {"required":true} /-->
143 <!-- wp:jetpack/field-radio {"label":"Please rate our website","required":true,"options":["1 - Very Bad","2 - Poor","3 - Average","4 - Good","5 - Excellent"]} /-->
144 <!-- wp:jetpack/field-textarea {"label":"How could we improve?"} /-->
145 <!-- wp:jetpack/button {"element":"button","text":"Send Feedback","lock":{"remove":true}} /-->
146 </div>
147 <!-- /wp:jetpack/contact-form -->',
148 ),
149 );
150
151 foreach ( $patterns as $name => $pattern ) {
152 register_block_pattern( $name, $pattern );
153 }
154 }
155
156 add_action( 'init', 'jetpack_form_register_pattern' );
157