File ManagerCurrent Directory: wp-content/plugins/wpforms/src/Pro/Integrations/GutenbergLinux appserver-0d5e4f1e-php-cc8da225320a42ba9b7d66cba40b1f03 6.6.123+ #1 SMP PREEMPT_DYNAMIC Wed Mar 11 09:04:28 UTC 2026 x86_64Edit File: ThemesData.php <?php namespace WPForms\Pro\Integrations\Gutenberg; use WPForms\Helpers\File; use WPForms\Integrations\Gutenberg\ThemesData as ThemesDataBase; /** * Themes data for Gutenberg block for Pro. * * @since 1.8.8 */ class ThemesData extends ThemesDataBase { /** * WPForms themes JSON file path. * * Relative to WPForms plugin directory. * * @since 1.8.8 * * @var string */ const THEMES_WPFORMS_JSON_PATH = 'assets/pro/js/integrations/gutenberg/themes.json'; /** * Stock photos class instance. * * @since 1.8.8 * * @var StockPhotos */ private $stock_photos_obj; /** * Initialize class. * * @since 1.8.8 * * @param StockPhotos|mixed $stock_photos_obj StockPhotos object. */ public function __construct( $stock_photos_obj ) { $this->stock_photos_obj = $stock_photos_obj; } /** * Check if the license is active. * * The code runs before wpforms() is ready, so we need to have here the same implementation as in WPForms_License::is_active. * Different than in WPForms_License::is_active, we check also if the key is empty. * * @since 1.8.8 * * @return bool */ private function is_license_active() { $license = get_option( 'wpforms_license', false ); if ( empty( $license ) || empty( $license['key'] ) || ! empty( $license['is_expired'] ) || ! empty( $license['is_disabled'] ) || ! empty( $license['is_invalid'] ) ) { return false; } return true; } /** * Return WPForms themes. * * @since 1.8.8 * * @return array */ public function get_wpforms_themes(): array { // phpcs:ignore Generic.Metrics.CyclomaticComplexity.TooHigh if ( $this->wpforms_themes !== null ) { return $this->wpforms_themes; } $path = static::THEMES_WPFORMS_JSON_PATH; $themes_json = File::get_contents( WPFORMS_PLUGIN_DIR . $path ) ?? '{}'; $themes = json_decode( $themes_json, true ); $this->wpforms_themes = ! empty( $themes ) ? $themes : []; $is_license_active = $this->is_license_active(); foreach ( $this->wpforms_themes as $slug => $theme ) { if ( ! $is_license_active && ! in_array( $slug, [ 'classic', 'default' ], true ) ) { $this->wpforms_themes[ $slug ]['disabled'] = 1; } if ( empty( $theme['settings']['backgroundUrl'] ) || $theme['settings']['backgroundUrl'] === 'url()' ) { continue; } // Replace the background image filename with the stock photo URL. $this->wpforms_themes[ $slug ]['settings']['backgroundUrl'] = sprintf( 'url( %1$s%2$s )', $this->stock_photos_obj->get_url_path(), $theme['settings']['backgroundUrl'] ); } return $this->wpforms_themes; } } Upload File Directory Listing NameTypeSizeActions.. (Parent Directory)DirFormSelector.phpFile4.52 KB Rename | Delete | EditRestApi.phpFile2.13 KB Rename | Delete | EditStockPhotos.phpFile6.77 KB Rename | Delete | EditThemesData.phpFile2.59 KB Rename | Delete | Edit