芝麻web文件管理V1.00
编辑当前文件:/home/disqkgca/aqanet.org/wp-content/plugins/wpforms-lite/src/Admin/Settings/ModernMarkup.php
hooks(); } /** * Hooks. * * @since 1.8.1 */ public function hooks() { add_action( 'wpforms_create_form', [ $this, 'clear_transient' ] ); add_action( 'wpforms_save_form', [ $this, 'clear_transient' ] ); add_action( 'wpforms_delete_form', [ $this, 'clear_transient' ] ); add_action( 'wpforms_form_handler_update_status', [ $this, 'clear_transient' ] ); // Only continue if we are actually on the settings page. if ( ! wpforms_is_admin_page( 'settings' ) ) { return; } add_filter( 'wpforms_settings_defaults', [ $this, 'register_field' ] ); } /** * Register setting field. * * @since 1.8.1 * * @param array|mixed $settings Settings data. * * @return array * @noinspection HtmlUnknownTarget * @noinspection NullPointerExceptionInspection */ public function register_field( $settings ): array { /** * Allows to show/hide the Modern Markup setting field on the Settings page. * * @since 1.8.1 * * @param mixed $is_hidden Whether the setting must be hidden. */ $is_hidden = apply_filters( 'wpforms_admin_settings_modern_markup_register_field_is_hidden', wpforms_setting( 'modern-markup-hide-setting' ) ); if ( ! empty( $is_hidden ) ) { return $settings; } $settings = (array) $settings; $modern_markup = [ 'id' => 'modern-markup', 'name' => esc_html__( 'Use Modern Markup', 'wpforms-lite' ), 'desc' => sprintf( wp_kses( /* translators: %s - WPForms.com form markup setting URL. */ __( 'Check this option to use modern markup, which has increased accessibility and allows you to easily customize your forms in the block editor.
Read our form markup documentation
to learn more.', 'wpforms-lite' ), [ 'a' => [ 'href' => [], 'target' => [], 'rel' => [], 'class' => [], ], ] ), wpforms_utm_link( 'https://wpforms.com/docs/styling-your-forms/', 'settings-license', 'Form Markup Documentation' ) ), 'type' => 'toggle', 'status' => true, ]; $is_disabled_transient = Transient::get( 'modern_markup_setting_disabled' ); // Transient doesn't set or expired. if ( $is_disabled_transient === false ) { $forms = wpforms()->obj( 'form' )->get( '', [ 'post_status' => 'publish' ] ); $is_disabled_transient = ( ! empty( $forms ) && wpforms_has_field_type( 'credit-card', $forms, true ) ) ? '1' : '0'; // Re-check all the forms for the CC field once per day. Transient::set( 'modern_markup_setting_disabled', $is_disabled_transient, DAY_IN_SECONDS ); } /** * Allows enabling/disabling the Modern Markup setting field on the Settings page. * * @since 1.8.1 * * @param mixed $is_disabled Whether the Modern Markup setting must be disabled. */ $is_disabled = (bool) apply_filters( 'wpforms_admin_settings_modern_markup_register_field_is_disabled', ! empty( $is_disabled_transient ) ); $current_value = wpforms_setting( 'modern-markup' ); // In the case, when it is disabled because of the legacy CC field, add the corresponding description. if ( $is_disabled && ! empty( $is_disabled_transient ) && empty( $current_value ) ) { $modern_markup['disabled'] = true; $modern_markup['disabled_desc'] = sprintf( wp_kses( /* translators: %s - WPForms Stripe addon URL. */ __( '
You cannot use modern markup because you’re using the deprecated Credit Card field.
If you’d like to use modern markup, replace your credit card field with a payment gateway like
Stripe
.', 'wpforms-lite' ), [ 'a' => [ 'href' => [], 'target' => [], 'rel' => [], ], 'strong' => [], ] ), 'https://wpforms.com/docs/how-to-install-and-use-the-stripe-addon-with-wpforms' ); } $modern_markup = [ 'modern-markup' => $modern_markup, ]; $settings['general'] = wpforms_list_insert_after( $settings['general'], 'disable-css', $modern_markup ); return $settings; } /** * Clear transient in the case when the form is created/saved/deleted. * So, next time when the user opens the Settings page, * the Modern Markup setting will check for the legacy Credit Card field in all the forms again. * * @since 1.8.1 */ public function clear_transient() { Transient::delete( 'modern_markup_setting_disabled' ); } }