esc_html__( 'Get Advanced Cookie Consent Features', 'wpforms-lite' ), esc_html__( 'With WPConsent Pro you can access advanced features like geolocation, popup layout, records of consent, multilanguage support, and more.', 'wpforms-lite' ), esc_attr( $step['button_class'] ), esc_url( $step['button_url'] ), esc_html( $step['button_text'] ) ); } /** * Step 'Result' data. * * @since 1.9.7.3 * * @return array Step data. * @noinspection PhpUndefinedFunctionInspection */ protected function get_data_step_result(): array { // phpcs:ignore Generic.Metrics.CyclomaticComplexity.TooHigh $step = []; $step['icon'] = 'step-3.svg'; $step['section_class'] = $this->output_data['plugin_setup'] ? '' : 'grey'; $step['button_text'] = esc_html__( 'Learn More', 'wpforms-lite' ); $step['button_class'] = 'grey disabled'; $step['button_url'] = ''; $plugin_license_level = $this->get_license_level(); switch ( $plugin_license_level ) { case 'lite': $step['button_url'] = $this->config['wpconsent_addon_page']; $step['button_class'] = $this->output_data['plugin_setup'] ? 'button-primary' : 'grey disabled'; break; case 'pro': $addon_installed = array_key_exists( $this->config['wpconsent_addon'], $this->output_data['all_plugins'] ); $step['button_text'] = $addon_installed ? esc_html__( 'WPConsent Pro Installed & Activated', 'wpforms-lite' ) : esc_html__( 'Install Now', 'wpforms-lite' ); $step['button_class'] = $this->output_data['plugin_setup'] ? 'grey disabled' : 'button-primary'; $step['icon'] = $addon_installed ? 'step-complete.svg' : 'step-3.svg'; break; } return $step; } /** * Retrieve the license level of the plugin. * * @since 1.9.8.6 * * @return string The plugin license level ('lite' or 'pro'). */ protected function get_license_level(): string { $plugin_license_level = 'lite'; // Check if premium features are available. if ( function_exists( 'wpconsent' ) ) { $wpconsent = wpconsent(); if ( isset( $wpconsent->license ) && method_exists( $wpconsent->license, 'is_active' ) ) { $plugin_license_level = $wpconsent->license->is_active() ? 'pro' : 'lite'; } } return $plugin_license_level; } /** * Whether the plugin is finished setup or not. * * @since 1.9.8.6 */ protected function is_plugin_finished_setup(): bool { if ( ! $this->is_plugin_configured() ) { return false; } return $this->get_license_level() === 'pro'; } /** * Set the source of the plugin installation. * * @since 1.9.8 * @deprecated 1.9.8.6 * * @param string $plugin_basename The basename of the plugin. */ public function privacy_compliance_activated( string $plugin_basename ): void { $this->plugin_activated( $plugin_basename ); } /** * Whether a plugin is configured or not. * * @since 1.9.7.3 * * @return bool True if plugin is configured properly. * @noinspection PhpUndefinedFunctionInspection */ protected function is_plugin_configured(): bool { if ( ! $this->is_plugin_activated() ) { return false; } // Check if WPConsent has been configured with basic settings. // The plugin is considered configured if the consent banner is enabled. if ( function_exists( 'wpconsent' ) ) { $wpconsent = wpconsent(); if ( isset( $wpconsent->settings ) ) { $enable_consent_banner = $wpconsent->settings->get_option( 'enable_consent_banner', 0 ); return ! empty( $enable_consent_banner ); } } return false; } /** * Whether a plugin is active or not. * * @since 1.9.7.3 * * @return bool True if plugin is active. */ protected function is_plugin_activated(): bool { return ( function_exists( 'wpconsent' ) && ( is_plugin_active( $this->config['lite_plugin'] ) || is_plugin_active( $this->config['pro_plugin'] ) ) ); } /** * Whether a plugin is available (class/function exists). * * @since 1.9.7.3 * * @return bool True if plugin is available. */ protected function is_plugin_available(): bool { return function_exists( 'wpconsent' ); } /** * Whether pro version is active. * * @since 1.9.7.3 * * @return bool True if pro version is active. * @noinspection PhpUndefinedFunctionInspection */ protected function is_pro_active(): bool { if ( ! function_exists( 'wpconsent' ) ) { return false; } $wpconsent = wpconsent(); return isset( $wpconsent->license ) && method_exists( $wpconsent->license, 'is_active' ) && $wpconsent->license->is_active(); } /** * Get the heading for the install step. * * @since 1.9.7.3 * * @return string Install step heading. */ protected function get_install_heading(): string { return esc_html__( 'Install & Activate WPConsent', 'wpforms-lite' ); } /** * Get the description for the install step. * * @since 1.9.7.3 * * @return string Install step description. */ protected function get_install_description(): string { return esc_html__( 'Install WPConsent from the WordPress.org plugin repository.', 'wpforms-lite' ); } /** * Get the plugin title. * * @since 1.9.7.3 * * @return string Plugin title. */ protected function get_plugin_title(): string { return esc_html__( 'WPConsent', 'wpforms-lite' ); } /** * Get the install button text. * * @since 1.9.7.3 * * @return string Install button text. */ protected function get_install_button_text(): string { return esc_html__( 'Install WPConsent', 'wpforms-lite' ); } /** * Get the text when a plugin is installed and activated. * * @since 1.9.7.3 * * @return string Installed & activated text. */ protected function get_installed_activated_text(): string { return esc_html__( 'WPConsent Installed & Activated', 'wpforms-lite' ); } /** * Get the activate button text. * * @since 1.9.7.3 * * @return string Activate button text. */ protected function get_activate_text(): string { return esc_html__( 'Activate WPConsent', 'wpforms-lite' ); } /** * Get the heading for the setup step. * * @since 1.9.7.3 * * @return string Setup step heading. */ protected function get_setup_heading(): string { return esc_html__( 'Set Up WPConsent', 'wpforms-lite' ); } /** * Get the description for the setup step. * * @since 1.9.7.3 * * @return string Setup step description. */ protected function get_setup_description(): string { return esc_html__( 'WPConsent has an intuitive setup wizard to guide you through the cookie consent configuration process.', 'wpforms-lite' ); } /** * Get the setup button text. * * @since 1.9.7.3 * * @return string Setup button text. */ protected function get_setup_button_text(): string { return esc_html__( 'Run Setup Wizard', 'wpforms-lite' ); } /** * Get the text when setup is completed. * * @since 1.9.7.3 * * @return string Setup completed text. */ protected function get_setup_completed_text(): string { return esc_html__( 'Setup Complete', 'wpforms-lite' ); } /** * Get the text when a pro-version is installed and activated. * * @since 1.9.7.3 * * @return string Pro installed and activated text. */ protected function get_pro_installed_activated_text(): string { return esc_html__( 'WPConsent Pro Installed & Activated', 'wpforms-lite' ); } }
Fatal error: Uncaught TEC\Common\Exceptions\Not_Bound_Exception: Error while making Tribe\Events\Views\V2\Customizer\Configuration: nothing is bound to the 'Tribe\Events\Views\V2\Customizer\Configuration' id and it's not an existing or instantiable class. in /htdocs/wp-content/plugins/the-events-calendar/common/src/Common/Contracts/Container.php:35 Stack trace: #0 /htdocs/wp-content/plugins/the-events-calendar/common/vendor/vendor-prefixed/lucatume/di52/src/Container.php(249): TEC\Common\Contracts\Container->get('Tribe\\Events\\Vi...') #1 /htdocs/wp-content/plugins/the-events-calendar/src/Tribe/Views/V2/Customizer/Hooks.php(55): TEC\Common\lucatume\DI52\Container->make('Tribe\\Events\\Vi...') #2 /htdocs/wp-content/plugins/the-events-calendar/src/Tribe/Views/V2/Customizer/Service_Provider.php(50): Tribe\Events\Views\V2\Customizer\Hooks->register() #3 /htdocs/wp-content/plugins/the-events-calendar/src/Tribe/Views/V2/Customizer/Service_Provider.php(30): Tribe\Events\Views\V2\Customizer\Service_Provider->register_hooks() #4 /htdocs/wp-content/plugins/the-events-calendar/common/vendor/vendor-prefixed/lucatume/di52/src/Container.php(427): Tribe\Events\Views\V2\Customizer\Service_Provider->register() #5 /htdocs/wp-content/plugins/the-events-calendar/common/src/Common/Contracts/Container.php(63): TEC\Common\lucatume\DI52\Container->register('Tribe\\Events\\Vi...') #6 /htdocs/wp-content/plugins/the-events-calendar/src/Tribe/Views/V2/Service_Provider.php(52): TEC\Common\Contracts\Container->register('Tribe\\Events\\Vi...') #7 /htdocs/wp-content/plugins/the-events-calendar/common/vendor/vendor-prefixed/lucatume/di52/src/Container.php(427): Tribe\Events\Views\V2\Service_Provider->register() #8 /htdocs/wp-content/plugins/the-events-calendar/common/src/Common/Contracts/Container.php(63): TEC\Common\lucatume\DI52\Container->register('Tribe\\Events\\Vi...') #9 /htdocs/wp-content/plugins/the-events-calendar/common/src/Tribe/Container.php(306): TEC\Common\Contracts\Container->register('Tribe\\Events\\Vi...') #10 /htdocs/wp-content/plugins/the-events-calendar/src/Tribe/Main.php(687): tribe_register_provider('Tribe\\Events\\Vi...') #11 /htdocs/wp-content/plugins/the-events-calendar/src/Tribe/Main.php(552): Tribe__Events__Main->bind_implementations() #12 /htdocs/wp-includes/class-wp-hook.php(341): Tribe__Events__Main->bootstrap('') #13 /htdocs/wp-includes/class-wp-hook.php(365): WP_Hook->apply_filters('', Array) #14 /htdocs/wp-includes/plugin.php(522): WP_Hook->do_action(Array) #15 /htdocs/wp-content/plugins/the-events-calendar/common/src/Tribe/Main.php(131): do_action('tribe_common_lo...') #16 /htdocs/wp-includes/class-wp-hook.php(341): Tribe__Main->plugins_loaded('') #17 /htdocs/wp-includes/class-wp-hook.php(365): WP_Hook->apply_filters(NULL, Array) #18 /htdocs/wp-includes/plugin.php(522): WP_Hook->do_action(Array) #19 /htdocs/wp-settings.php(593): do_action('plugins_loaded') #20 /htdocs/wp-config.php(98): require_once('/htdocs/wp-sett...') #21 /htdocs/wp-load.php(50): require_once('/htdocs/wp-conf...') #22 /htdocs/wp-blog-header.php(13): require_once('/htdocs/wp-load...') #23 /htdocs/index.php(17): require('/htdocs/wp-blog...') #24 {main} thrown in /htdocs/wp-content/plugins/the-events-calendar/common/src/Common/Contracts/Container.php on line 35