File ManagerCurrent Directory: wp-content/plugins/wpforms/src/Pro/Admin/AddonsLinux appserver-0d5e4f1e-php-cc8da225320a42ba9b7d66cba40b1f03 6.6.123+ #1 SMP PREEMPT_DYNAMIC Wed Mar 11 09:04:28 UTC 2026 x86_64Edit File: GoogleSheets.php <?php namespace WPForms\Pro\Admin\Addons; use WPForms\Admin\Notice; /** * Google Sheets addon update admin notices. * * @since 1.8.5.3 */ class GoogleSheets { /** * Indicate if current class is allowed to load. * * @since 1.8.5.3 * * @return bool */ private function allow_load(): bool { if ( ! is_admin() || wp_doing_ajax() ) { return false; } // Only for v1.x.x. if ( ! defined( 'WPFORMS_GOOGLE_SHEETS_VERSION' ) || version_compare( WPFORMS_GOOGLE_SHEETS_VERSION, '2.0', '>=' ) ) { return false; } if ( ! wpforms_is_addon_initialized( 'google-sheets' ) ) { return false; } // The credentials are not set. if ( empty( wpforms_google_sheets()->get( 'account' )->get_credentials() ) ) { return false; } global $pagenow; // Load only on certain admin pages. return in_array( $pagenow, [ 'index.php', 'plugins.php' ], true ) || wpforms_is_admin_page(); } /** * Init. * * @since 1.8.5.3 */ public function init() { if ( ! $this->allow_load() ) { return; } // The Google Sheets addon v2.0 admin notice. if ( $this->is_v2_released() ) { $this->v2_update_is_released_notice(); } else { $this->v2_update_is_expected_notice(); } } /** * Detect if the v2.0 is released. * * @since 1.8.5.3 * * @return bool */ private function is_v2_released(): bool { $updates = (array) get_site_transient( 'update_plugins' ); if ( empty( $updates['response'] ) ) { return false; } $addon_slug = plugin_basename( WPFORMS_GOOGLE_SHEETS_FILE ); $addon_update = (array) ( $updates['response'][ $addon_slug ] ?? [] ); $new_version = $addon_update['new_version'] ?? false; if ( ! $new_version ) { return false; } return version_compare( $new_version, '2.0', '>=' ); } /** * The addon v2.0 is expected notice. * * @since 1.8.5.3 */ private function v2_update_is_expected_notice() { $title = __( 'Important Update for Google Sheets Addon Users', 'wpforms' ); $message = sprintf( /* translators: %1$s - Google Sheets Re-Authentication doc link. */ __( 'The Google Sheets addon for WPForms will be updated soon. All users who are sending entries to Google Sheets will need to <a href="%1$s" target="_blank" rel="noopener noreferrer">update the addon and re-authenticate their Google connection</a> as soon as version 2.0 becomes available to avoid interruptions in service.', 'wpforms' ), esc_url( wpforms_utm_link( 'https://wpforms.com/docs/google-sheets-2-0-update-requirements/', 'Google Sheets Update Alert 1', 'Google Sheets Re-Authentication doc' ) ) ); Notice::info( $this->get_compiled_notice( $title, $message ) ); } /** * The addon v2.0 is released notice. * * @since 1.8.5.3 */ private function v2_update_is_released_notice() { $title = __( 'Urgent Action Required for Google Sheets Addon Users', 'wpforms' ); $message = sprintf( /* translators: %1$s - Google Sheets Re-Authentication doc link. */ __( 'WPForms Google Sheets addon version 2.0 is now available. All users who are sending entries to Google Sheets need to <a href="%1$s" target="_blank" rel="noopener noreferrer">update the addon and re-authenticate their Google connection</a> as soon as possible to avoid interruptions in service.', 'wpforms' ), esc_url( wpforms_utm_link( 'https://wpforms.com/docs/google-sheets-2-0-update-requirements/', 'Google Sheets Update Alert 2', 'Google Sheets Re-Authentication doc' ) ) ); Notice::error( $this->get_compiled_notice( $title, $message ) ); } /** * Get compiled notice. * * @since 1.8.5.3 * * @param string $title Notice title. * @param string $message Notice message. * * @return string */ private function get_compiled_notice( $title, $message ): string { $notice = sprintf( '<h3 style="margin: 0.75em 0 0; padding: 0 2px;">%1$s</h3><p>%2$s</p>', $title, $message ); return wp_kses( $notice, [ 'a' => [ 'href' => [], 'rel' => [], 'target' => [], ], 'h3' => [ 'style' => [], ], 'p' => [], ] ); } } Upload File Directory Listing NameTypeSizeActions.. (Parent Directory)DirAddons.phpFile3.95 KB Rename | Delete | EditGoogleSheets.phpFile4.05 KB Rename | Delete | Edit