"valid", "key" => "B5E0B5F8DD8689E6ACA49DD6E6E1A930") ); define( 'GENERATEBLOCKS_PRO_VERSION', '2.5.0' ); define( 'GENERATEBLOCKS_PRO_DIR', plugin_dir_path( __FILE__ ) ); define( 'GENERATEBLOCKS_PRO_DIR_URL', plugin_dir_url( __FILE__ ) ); add_action( 'plugins_loaded', 'generateblocks_pro_init' ); /** * Set up the plugin if GenerateBlocks exists. * * @since 1.0.0 */ function generateblocks_pro_init() { if ( ! defined( 'GENERATEBLOCKS_VERSION' ) ) { add_action( 'admin_notices', 'generateblocks_pro_failed_load' ); return; } $generateblocks_version_required = '1.3.0'; if ( ! version_compare( GENERATEBLOCKS_VERSION, $generateblocks_version_required, '>=' ) ) { add_action( 'admin_notices', 'generateblocks_pro_failed_required_version' ); return; } require GENERATEBLOCKS_PRO_DIR . 'init.php'; } add_action( 'after_setup_theme', 'generateblocks_pro_after_setup_theme' ); /** * Do things once the theme is set up. */ function generateblocks_pro_after_setup_theme() { load_plugin_textdomain( 'generateblocks-pro', false, 'generateblocks-pro/languages' ); } /** * Show an admin notice if GenerateBlocks isn't active. * * @since 1.0.0 */ function generateblocks_pro_failed_load() { $screen = get_current_screen(); if ( isset( $screen->parent_file ) && 'plugins.php' === $screen->parent_file && 'update' === $screen->id ) { return; } $plugin = 'generateblocks/plugin.php'; $installed_plugins = get_plugins(); $is_generateblocks_installed = isset( $installed_plugins[ $plugin ] ); if ( $is_generateblocks_installed ) { if ( ! current_user_can( 'activate_plugins' ) ) { return; } $activation_url = wp_nonce_url( 'plugins.php?action=activate&plugin=' . $plugin . '&plugin_status=all&paged=1&s', 'activate-plugin_' . $plugin ); $message = '

' . __( 'GenerateBlocks Pro is not working because you need to activate the GenerateBlocks plugin.', 'generateblocks-pro' ) . '

'; $message .= '

' . sprintf( '%s', $activation_url, __( 'Activate GenerateBlocks Now', 'generateblocks-pro' ) ) . '

'; } else { if ( ! current_user_can( 'install_plugins' ) ) { return; } $install_url = wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=generateblocks' ), 'install-plugin_generateblocks' ); $message = '

' . __( 'GenerateBlocks Pro is not working because you need to install the GenerateBlocks plugin.', 'generateblocks-pro' ) . '

'; $message .= '

' . sprintf( '%s', $install_url, __( 'Install GenerateBlocks Now', 'generateblocks-pro' ) ) . '

'; } echo '

' . $message . '

'; // phpcs:ignore -- No escaping needed. } /** * Show an admin notice if GenerateBlocks isn't at its required version. * * @since 1.0.0 */ function generateblocks_pro_failed_required_version() { if ( ! current_user_can( 'update_plugins' ) ) { return; } $file_path = 'generateblocks/plugin.php'; $upgrade_link = wp_nonce_url( self_admin_url( 'update.php?action=upgrade-plugin&plugin=' ) . $file_path, 'upgrade-plugin_' . $file_path ); $message = '

' . __( 'GenerateBlocks Pro is not working because you are using an old version of GenerateBlocks.', 'generateblocks-pro' ) . '

'; $message .= '

' . sprintf( '%s', $upgrade_link, __( 'Update GenerateBlocks Now', 'generateblocks-pro' ) ) . '

'; echo '

' . $message . '

'; // phpcs:ignore -- No escaping needed. } add_action( 'init', 'generateblocks_pro_updater' ); /** * Check for and receive updates. * * @since 1.0.0 */ function generateblocks_pro_updater() { $doing_cron = defined( 'DOING_CRON' ) && DOING_CRON; if ( ! current_user_can( 'manage_options' ) && ! $doing_cron ) { return; } if ( ! class_exists( 'GenerateBlocks_Plugin_Updater' ) ) { include GENERATEBLOCKS_PRO_DIR . 'includes/class-updater.php'; } if ( ! function_exists( 'generateblocks_pro_get_license_defaults' ) ) { return; } $license_settings = wp_parse_args( get_option( 'generateblocks_pro_licensing', array() ), generateblocks_pro_get_license_defaults() ); $license_key = trim( $license_settings['key'] ); $edd_updater = new GenerateBlocks_Plugin_Updater( 'https://generateblocks.com', __FILE__, array( 'version' => GENERATEBLOCKS_PRO_VERSION, 'license' => esc_attr( $license_key ), 'item_id' => 1393, 'author' => 'GenerateBlocks', 'beta' => $license_settings['beta'] ? true : false, ) ); } add_filter( 'edd_sl_plugin_updater_api_params', 'generateblocks_pro_set_updater_api_params', 10, 3 ); /** * Add the GenerateBlocks version to our updater params. * * @param array $api_params The array of data sent in the request. * @param array $api_data The array of data set up in the class constructor. * @param string $plugin_file The full path and filename of the file. */ function generateblocks_pro_set_updater_api_params( $api_params, $api_data, $plugin_file ) { /* * Make sure $plugin_file matches your plugin's file path. You should have a constant for this * or can use __FILE__ if this code goes in your plugin's main file. */ if ( __FILE__ === $plugin_file ) { // Dynamically retrieve the current version number. $api_params['generateblocks_version'] = defined( 'GENERATEBLOCKS_VERSION' ) ? GENERATEBLOCKS_VERSION : ''; } return $api_params; }