You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

88 lines
3.1 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<?php
/**
* TablePress environment compatibility check.
*
* Note: This file must not contain PHP code that does not run on PHP < 7.2!
*
* @package TablePress
* @author Tobias Bäthge
* @since 2.2.0
*/
// Prohibit direct script loading.
defined( 'ABSPATH' ) || die( 'No direct script access allowed!' );
/**
* Check if the site is using WordPress 6.0 or newer.
*/
require ABSPATH . WPINC . '/version.php'; // Include an unmodified $wp_version.
if ( version_compare( str_replace( '-src', '', $wp_version ), '6.0', '<' ) ) { // @phpstan-ignore-line
/**
* Show an error notice to admins, if the installed version of WordPress is not supported.
*
* @since 2.2.0
*/
function tablepress_admin_error_notice_minimum_version_wp() /* No return type declaration, due to required PHP compatibility! */ {
?>
<div class="notice notice-error notice-alt notice-large">
<h3><em>
<span aria-hidden="true" class="dashicons dashicons-warning" style="color:#d63638;vertical-align:bottom"></span>
<?php _e( 'Attention: Unfortunately, there is a problem!', 'tablepress' ); ?>
</em></h3>
<p style="font-size:14px">
<?php _e( 'The installed version of WordPress is too old for the TablePress plugin! TablePress requires an up-to-date version!', 'tablepress' ); ?>
</p>
<p style="font-size:14px">
<strong>
<?php
if ( current_user_can( 'update_core' ) ) {
printf( __( 'Please <a href="%1$s">update your WordPress installation</a> to at least version %2$s!', 'tablepress' ), esc_url( self_admin_url( 'update-core.php' ) ), '6.0' );
} else {
printf( __( 'Please ask your sites administrator to update WordPress to at least version %1$s!', 'tablepress' ), '6.0' );
}
?>
</strong>
</p>
</div>
<?php
}
add_action( 'admin_notices', 'tablepress_admin_error_notice_minimum_version_wp' );
// Exit TablePress early.
return false;
}
/**
* Check if the server is running PHP 7.2 or newer.
*/
if ( PHP_VERSION_ID < 70200 ) {
/**
* Show an error notice to admins, if the installed version of PHP is not supported.
*
* @since 2.2.0
*/
function tablepress_admin_error_notice_minimum_version_php() /* No return type declaration, due to required PHP compatibility! */ {
?>
<div class="notice notice-error notice-alt notice-large">
<h3><em>
<span aria-hidden="true" class="dashicons dashicons-warning" style="color:#d63638;vertical-align:bottom"></span>
<?php _e( 'Attention: Unfortunately, there is a problem!', 'tablepress' ); ?>
</em></h3>
<p style="font-size:14px">
<?php printf( __( 'Your server is running a version of PHP that is too old for the TablePress plugin to work. TablePress requires PHP %s or newer, where newer versions are recommended.', 'tablepress' ), '7.2' ); ?>
</p>
<p style="font-size:14px">
<strong><?php printf( __( '<a href="%s">Learn more about updating PHP</a> or contact your server administrator.', 'tablepress' ), esc_url( wp_get_update_php_url() ) ); ?></strong>
</p>
</div>
<?php
}
add_action( 'admin_notices', 'tablepress_admin_error_notice_minimum_version_php' );
// Exit TablePress early.
return false;
}
// All environment checks passed.
return true;