| Server IP : www.new.bangkokfinder.com / Your IP : 172.71.124.81 Web Server : nginx/1.20.1 System : Linux new 4.15.0-159-generic #167-Ubuntu SMP Tue Sep 21 08:55:05 UTC 2021 x86_64 User : bangkokfinder ( 1000) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/bangkokfinder/www/wp-content/plugins/generateblocks-pro/ |
Upload File : |
<?php
/**
* Plugin Name: GenerateBlocks Pro
* Plugin URI: https://generatepress.com/blocks
* Description: GenerateBlocks Pro adds more great features to GenerateBlocks without sacrificing usability or performance.
* Author: Tom Usborne
* Author URI: https://generatepress.com
* Version: 2.4.0
* Requires at least: 6.5
* Requires PHP: 7.4
* License: GPL2+
* License URI: https://www.gnu.org/licenses/gpl-2.0.txt
*
* @package GenerateBlocks Pro
*/
// Exit if accessed directly.
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
define( 'GENERATEBLOCKS_PRO_VERSION', '2.4.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 = '<p>' . __( 'GenerateBlocks Pro is not working because you need to activate the GenerateBlocks plugin.', 'generateblocks-pro' ) . '</p>';
$message .= '<p>' . sprintf( '<a href="%s" class="button-primary">%s</a>', $activation_url, __( 'Activate GenerateBlocks Now', 'generateblocks-pro' ) ) . '</p>';
} 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 = '<p>' . __( 'GenerateBlocks Pro is not working because you need to install the GenerateBlocks plugin.', 'generateblocks-pro' ) . '</p>';
$message .= '<p>' . sprintf( '<a href="%s" class="button-primary">%s</a>', $install_url, __( 'Install GenerateBlocks Now', 'generateblocks-pro' ) ) . '</p>';
}
echo '<div class="error"><p>' . $message . '</p></div>'; // 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 = '<p>' . __( 'GenerateBlocks Pro is not working because you are using an old version of GenerateBlocks.', 'generateblocks-pro' ) . '</p>';
$message .= '<p>' . sprintf( '<a href="%s" class="button-primary">%s</a>', $upgrade_link, __( 'Update GenerateBlocks Now', 'generateblocks-pro' ) ) . '</p>';
echo '<div class="error"><p>' . $message . '</p></div>'; // 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;
}