setModule( Visualizer_Module_Utility::NAME ); $plugin->setModule( Visualizer_Module_Setup::NAME ); $plugin->setModule( Visualizer_Module_Sources::NAME ); $plugin->setModule( Visualizer_Module_Chart::NAME ); if ( is_admin() || defined( 'WP_TESTS_DOMAIN' ) ) { // set admin modules $plugin->setModule( Visualizer_Module_Admin::NAME ); } // set frontend modules $plugin->setModule( Visualizer_Module_Frontend::NAME ); $plugin->setModule( Visualizer_Module_AMP::NAME ); // Set setup wizard module. $plugin->setModule( Visualizer_Module_Wizard::NAME ); $vendor_file = VISUALIZER_ABSPATH . '/vendor/autoload.php'; if ( is_readable( $vendor_file ) ) { include_once( $vendor_file ); } add_filter( 'themeisle_sdk_products', 'visualizer_register_sdk', 10, 1 ); add_filter( 'pirate_parrot_log', 'visualizer_register_parrot', 10, 1 ); add_filter( 'themeisle_sdk_compatibilities/' . VISUALIZER_DIRNAME, function ( $compatibilities ) { $compatibilities['VisualizerPRO'] = array( 'basefile' => defined( 'VISUALIZER_PRO_BASEFILE' ) ? VISUALIZER_PRO_BASEFILE : '', 'required' => '1.8', 'tested_up' => '1.14', ); return $compatibilities; } ); add_filter( 'visualizer_about_us_metadata', function() { return array( 'logo' => esc_url( VISUALIZER_ABSURL . 'images/visualizer-logo.svg' ), 'location' => 'visualizer', 'has_upgrade_menu' => ! Visualizer_Module::is_pro(), 'upgrade_text' => esc_html__( 'Get Visualizer Pro', 'feedzy-rss-feeds' ), 'upgrade_link' => esc_url( tsdk_utmify( Visualizer_Plugin::PRO_TEASER_URL, 'sidebarMenuUpgrade', 'index' ) ), ); } ); if ( ! defined( 'TI_CYPRESS_TESTING' ) && 'yes' === get_option( 'visualizer_logger_flag', 'no' ) ) { add_filter( 'themeisle_sdk_enable_telemetry', '__return_true' ); add_filter( 'themeisle_sdk_telemetry_products', function( $products ) { $already_registered = false; $license = get_option( 'visualizer_pro_license_data', 'free' ); if ( ! empty( $license ) && is_object( $license ) ) { $license = $license->key; } $track_hash = 'free' === $license ? 'free' : wp_hash( $license ); foreach ( $products as &$product ) { if ( strstr( $product['slug'], 'visualizer' ) !== false ) { $already_registered = true; $product['trackHash'] = $track_hash; } } if ( $already_registered ) { return $products; } // Add Visualizer to the list of products to track the usage of AI Block. $products[] = array( 'slug' => 'visualizer', 'consent' => 'yes' === get_option( 'visualizer_logger_flag', 'no' ), 'trackHash' => $track_hash, ); return $products; } ); } } /** * Registers with the SDK * * @since 1.0.0 */ function visualizer_register_sdk( $products ) { $products[] = VISUALIZER_BASEFILE; return $products; } /** * Registers with the parrot plugin * * @since 1.0.0 */ function visualizer_register_parrot( $plugins ) { $plugins[] = Visualizer_Plugin::NAME; return $plugins; } // register autoloader function spl_autoload_register( 'visualizer_autoloader' ); // launch the plugin visualizer_launch(); if ( VISUALIZER_LOCAL_DEBUG ) { add_action( 'themeisle_log_event', 'visualizer_themeisle_log_event', 10, 5 ); /** * Redirect themeisle_log_event to error log. */ function visualizer_themeisle_log_event( $name, $msg, $type, $file, $line ) { if ( $name === Visualizer_Plugin::NAME ) { error_log( sprintf( '%s (%s:%d): %s', $type, $file, $line, $msg ) ); } } }