=')) {
require_once plugin_dir_path(__FILE__) . 'includes/loader.php';
}
/**
* Handles plugin activation.
*
* Throws an error if the plugin is activated on an older version than PHP 5.6.
*/
function bitforms_activate_plugin($network_wide)
{
if (version_compare(PHP_VERSION, '5.6.0', '<')) {
wp_die(
'Bit Form requires PHP version 5.6 or higher.',
'Error Activating'
);
}
do_action('bitforms_activation', $network_wide);
}
register_activation_hook(__FILE__, 'bitforms_activate_plugin');
/**
* Handles plugin deactivation.
*/
function bitforms_deactivate_plugin($network_wide)
{
if (version_compare(PHP_VERSION, '5.6.0', '<')) {
return;
}
do_action('bitforms_deactivation', $network_wide);
}
register_deactivation_hook(__FILE__, 'bitforms_deactivate_plugin');
/**
* Handles plugin uninstall.
*
* @access private
*/
function bitforms_uninstall_plugin()
{
if (version_compare(PHP_VERSION, '5.6.0', '<')) {
return;
}
do_action('bitforms_uninstall');
}
register_uninstall_hook(__FILE__, 'bitforms_uninstall_plugin');
add_action('plugins_loaded', 'bitforms_check_pro_version');
function bitforms_check_pro_version()
{
if (!defined('BITFORMPRO_VERSION')) {
return;
}
if (!version_compare(BITFORMPRO_VERSION, BITFORMS_REQUIRED_BITFORMPRO_VERSION, '>=')) {
add_action('admin_notices', 'bitformsProUpgradeNotice');
}
}
function bitformsProUpgradeNotice()
{
// user meta calls safe here — admin_notices fires well after user initialisation
$dismissed_for = get_user_meta(get_current_user_id(), 'bitforms_dismiss_pro_upgrade_notice', true);
if (BITFORMS_REQUIRED_BITFORMPRO_VERSION === $dismissed_for) {
return;
}
$update_url = esc_url(admin_url('plugins.php?plugin_status=upgrade'));
$required = esc_html(BITFORMS_REQUIRED_BITFORMPRO_VERSION);
// Keep HTML out of translatable strings to prevent translator HTML injection
$message = '' . esc_html__('Bit Form Pro', 'bit-form') . ' '
. sprintf(
/* translators: %s: minimum required version number */
esc_html__('requires an update to version %s or higher for full compatibility.', 'bit-form'),
'' . $required . ''
)
. ' ' . esc_html__('Update now', 'bit-form') . '';
wp_admin_notice(
$message,
[
'type' => 'error',
'dismissible' => true,
'additional_classes' => ['bitforms-pro-upgrade-notice'],
'attributes' => [
'data-nonce' => wp_create_nonce('bitforms_dismiss_pro_notice'),
'data-ajax-url' => esc_url(admin_url('admin-ajax.php')),
],
'paragraph_wrap' => true,
]
);
// Script at footer — avoids mid-page inline script
add_action('admin_footer', 'bitformsProUpgradeNoticeScript');
}
function bitformsProUpgradeNoticeScript()
{
?>