<?php /** * Controller for front-end requests, scripts, and styles */ add_action( 'parse_request', 'wpcf7_control_init', 20, 0 ); /** * Handles a submission in non-Ajax mode. */ function wpcf7_control_init() { if ( WPCF7_Submission::is_restful() ) { return; } if ( isset( $_POST['_wpcf7'] ) ) { $contact_form = wpcf7_contact_form( (int) $_POST['_wpcf7'] ); if ( $contact_form ) { $contact_form->submit(); } } } /** * Registers main scripts and styles. */ add_action( 'wp_enqueue_scripts', static function () { $assets = array(); $asset_file = wpcf7_plugin_path( 'includes/js/index.asset.php' ); if ( file_exists( $asset_file ) ) { $assets = include( $asset_file ); } $assets = wp_parse_args( $assets, array( 'dependencies' => array(), 'version' => WPCF7_VERSION, ) ); wp_register_script( 'contact-form-7', wpcf7_plugin_url( 'includes/js/index.js' ), array_merge( $assets['dependencies'], array( 'swv' ) ), $assets['version'], true ); wp_register_script( 'contact-form-7-html5-fallback', wpcf7_plugin_url( 'includes/js/html5-fallback.js' ), array( 'jquery-ui-datepicker' ), WPCF7_VERSION, true ); if ( wpcf7_load_js() ) { wpcf7_enqueue_scripts(); } wp_register_style( 'contact-form-7', wpcf7_plugin_url( 'includes/css/styles.css' ), array(), WPCF7_VERSION, 'all' ); wp_register_style( 'contact-form-7-rtl', wpcf7_plugin_url( 'includes/css/styles-rtl.css' ), array( 'contact-form-7' ), WPCF7_VERSION, 'all' ); wp_register_style( 'jquery-ui-smoothness', wpcf7_plugin_url( 'includes/js/jquery-ui/themes/smoothness/jquery-ui.min.css' ), array(), '1.12.1', 'screen' ); if ( wpcf7_load_css() ) { wpcf7_enqueue_styles(); } }, 10, 0 ); /** * Enqueues scripts. */ function wpcf7_enqueue_scripts() { wp_enqueue_script( 'contact-form-7' ); $wpcf7 = array( 'api' => array( 'root' => sanitize_url( get_rest_url() ), 'namespace' => 'contact-form-7/v1', ), ); if ( defined( 'WP_CACHE' ) and WP_CACHE ) { $wpcf7['cached'] = 1; } wp_localize_script( 'contact-form-7', 'wpcf7', $wpcf7 ); do_action( 'wpcf7_enqueue_scripts' ); } /** * Returns true if the main script is enqueued. */ function wpcf7_script_is() { return wp_script_is( 'contact-form-7' ); } /** * Enqueues styles. */ function wpcf7_enqueue_styles() { wp_enqueue_style( 'contact-form-7' ); if ( wpcf7_is_rtl() ) { wp_enqueue_style( 'contact-form-7-rtl' ); } do_action( 'wpcf7_enqueue_styles' ); } /** * Returns true if the main stylesheet is enqueued. */ function wpcf7_style_is() { return wp_style_is( 'contact-form-7' ); } add_action( 'wp_enqueue_scripts', 'wpcf7_html5_fallback', 20, 0 ); /** * Enqueues scripts and styles for the HTML5 fallback. */ function wpcf7_html5_fallback() { if ( ! wpcf7_support_html5_fallback() ) { return; } if ( wpcf7_script_is() ) { wp_enqueue_script( 'contact-form-7-html5-fallback' ); } if ( wpcf7_style_is() ) { wp_enqueue_style( 'jquery-ui-smoothness' ); } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
block-editor | Folder | 0777 |
|
|
config-validator | Folder | 0777 |
|
|
css | Folder | 0777 |
|
|
js | Folder | 0777 |
|
|
swv | Folder | 0777 |
|
|
capabilities.php | File | 834 B | 0644 |
|
contact-form-functions.php | File | 10.25 KB | 0644 |
|
contact-form-template.php | File | 5.69 KB | 0644 |
|
contact-form.php | File | 29.96 KB | 0644 |
|
controller.php | File | 3.03 KB | 0644 |
|
file.php | File | 10.13 KB | 0644 |
|
form-tag.php | File | 13.42 KB | 0644 |
|
form-tags-manager.php | File | 14.23 KB | 0644 |
|
formatting.php | File | 12.44 KB | 0644 |
|
functions.php | File | 15.36 KB | 0644 |
|
html-formatter.php | File | 16.32 KB | 0644 |
|
integration.php | File | 8.73 KB | 0644 |
|
l10n.php | File | 3.37 KB | 0644 |
|
mail.php | File | 15.34 KB | 0644 |
|
pipe.php | File | 1.87 KB | 0644 |
|
pocket-holder.php | File | 325 B | 0644 |
|
rest-api.php | File | 12.71 KB | 0644 |
|
shortcodes.php | File | 2.65 KB | 0644 |
|
special-mail-tags.php | File | 6.07 KB | 0644 |
|
submission.php | File | 21.55 KB | 0644 |
|
upgrade.php | File | 3 KB | 0644 |
|
validation-functions.php | File | 6.29 KB | 0644 |
|
validation.php | File | 3.22 KB | 0644 |
|