Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93
/home/sportsfe.../public_h.../wp-conte.../plugins/wordpres.../src/integrat.../admin
File: unsupported-php-version-notice.php
<?php
[0] Fix | Delete
[1] Fix | Delete
namespace Yoast\WP\SEO\Integrations\Admin;
[2] Fix | Delete
[3] Fix | Delete
use WPSEO_Shortlinker;
[4] Fix | Delete
use Yoast\WHIPv2\Exceptions\InvalidType;
[5] Fix | Delete
use Yoast\WHIPv2\Exceptions\InvalidVersionComparisonString;
[6] Fix | Delete
use Yoast\WHIPv2\Interfaces\Message;
[7] Fix | Delete
use Yoast\WHIPv2\MessageDismisser;
[8] Fix | Delete
use Yoast\WHIPv2\MessageFormatter;
[9] Fix | Delete
use Yoast\WHIPv2\Presenters\WPMessagePresenter;
[10] Fix | Delete
use Yoast\WHIPv2\RequirementsChecker;
[11] Fix | Delete
use Yoast\WHIPv2\VersionRequirement;
[12] Fix | Delete
use Yoast\WHIPv2\WPDismissOption;
[13] Fix | Delete
use Yoast\WP\SEO\Conditionals\Yoast_Admin_And_Dashboard_Conditional;
[14] Fix | Delete
use Yoast\WP\SEO\Integrations\Integration_Interface;
[15] Fix | Delete
[16] Fix | Delete
/**
[17] Fix | Delete
* Class Unsupported_PHP_Version_Notice.
[18] Fix | Delete
*
[19] Fix | Delete
* @package Yoast\WP\SEO\Integrations\Admin
[20] Fix | Delete
*/
[21] Fix | Delete
class Unsupported_PHP_Version_Notice implements Integration_Interface, Message {
[22] Fix | Delete
[23] Fix | Delete
/**
[24] Fix | Delete
* Returns the conditionals based on which this integration should be active.
[25] Fix | Delete
*
[26] Fix | Delete
* @return array<string> The array of conditionals.
[27] Fix | Delete
*/
[28] Fix | Delete
public static function get_conditionals() {
[29] Fix | Delete
return [
[30] Fix | Delete
Yoast_Admin_And_Dashboard_Conditional::class,
[31] Fix | Delete
];
[32] Fix | Delete
}
[33] Fix | Delete
[34] Fix | Delete
/**
[35] Fix | Delete
* Register hooks.
[36] Fix | Delete
*
[37] Fix | Delete
* @return void
[38] Fix | Delete
*/
[39] Fix | Delete
public function register_hooks() {
[40] Fix | Delete
\add_action( 'admin_init', [ $this, 'check_php_version' ] );
[41] Fix | Delete
}
[42] Fix | Delete
[43] Fix | Delete
/**
[44] Fix | Delete
* Checks the current PHP version.
[45] Fix | Delete
*
[46] Fix | Delete
* @return void
[47] Fix | Delete
*/
[48] Fix | Delete
public function check_php_version() {
[49] Fix | Delete
// If the user isn't an admin, don't display anything.
[50] Fix | Delete
if ( ! $this->has_right_capabilities() ) {
[51] Fix | Delete
return;
[52] Fix | Delete
}
[53] Fix | Delete
[54] Fix | Delete
if ( ! $this->on_dashboard_page( $GLOBALS['pagenow'] ) ) {
[55] Fix | Delete
return;
[56] Fix | Delete
}
[57] Fix | Delete
[58] Fix | Delete
// Checks if the user is running at least PHP 7.2.
[59] Fix | Delete
if ( $this->is_supported_php_version_installed() === false ) {
[60] Fix | Delete
$this->show_unsupported_php_message();
[61] Fix | Delete
}
[62] Fix | Delete
}
[63] Fix | Delete
[64] Fix | Delete
/**
[65] Fix | Delete
* Composes the body of the message to display.
[66] Fix | Delete
*
[67] Fix | Delete
* @return string The message to display.
[68] Fix | Delete
*/
[69] Fix | Delete
public function body() {
[70] Fix | Delete
$message = [];
[71] Fix | Delete
$message[] = MessageFormatter::strongParagraph( \__( 'Upgrade your PHP version', 'wordpress-seo' ) ) . '<br />';
[72] Fix | Delete
$message[] = MessageFormatter::paragraph(
[73] Fix | Delete
\sprintf(
[74] Fix | Delete
/* translators: 1: Yoast SEO, 2: Yoast SEO Premium */
[75] Fix | Delete
\__(
[76] Fix | Delete
'By November 1st, 2024, we’ll update the minimum PHP requirement for %1$s, %2$s and all our add-ons to PHP 7.4. This, to ensure we can keep delivering state of the art features.',
[77] Fix | Delete
'wordpress-seo'
[78] Fix | Delete
),
[79] Fix | Delete
'Yoast SEO',
[80] Fix | Delete
'Yoast SEO Premium'
[81] Fix | Delete
)
[82] Fix | Delete
) . '<br />';
[83] Fix | Delete
$message[] = MessageFormatter::strongParagraph( \__( 'Can’t upgrade yourself? Ask your host!', 'wordpress-seo' ) ) . '<br />';
[84] Fix | Delete
$message[] = MessageFormatter::paragraph(
[85] Fix | Delete
\sprintf(
[86] Fix | Delete
/* translators: 1: Link tag to WordPress Hosts page on Yoast.com; 2: Link closing tag */
[87] Fix | Delete
\__(
[88] Fix | Delete
'Upgrading your PHP version is something your hosting provider can help you out with. If they can’t upgrade your PHP version, we advise you to consider %1$sswitching to a hosting provider%2$s that can provide the security and features a modern host should provide.',
[89] Fix | Delete
'wordpress-seo'
[90] Fix | Delete
),
[91] Fix | Delete
'<a href="' . WPSEO_Shortlinker::get( 'https://yoast.com/wordpress-hosting/' ) . '">',
[92] Fix | Delete
'</a>'
[93] Fix | Delete
)
[94] Fix | Delete
) . '<br />';
[95] Fix | Delete
[96] Fix | Delete
return \implode( \PHP_EOL, $message );
[97] Fix | Delete
}
[98] Fix | Delete
[99] Fix | Delete
/**
[100] Fix | Delete
* Checks if the current user has the right capabilities.
[101] Fix | Delete
*
[102] Fix | Delete
* @return bool True when user has right capabilities.
[103] Fix | Delete
*/
[104] Fix | Delete
protected function has_right_capabilities() {
[105] Fix | Delete
return \current_user_can( 'wpseo_manage_options' );
[106] Fix | Delete
}
[107] Fix | Delete
[108] Fix | Delete
/**
[109] Fix | Delete
* Whether we are on the admin dashboard page or in the Yoast dashboard page.
[110] Fix | Delete
*
[111] Fix | Delete
* We need to have the notice in the main admin otherwise the dismissal mechanism won't work.
[112] Fix | Delete
*
[113] Fix | Delete
* @param string $current_page The current page.
[114] Fix | Delete
*
[115] Fix | Delete
* @return bool True if current page is the index.php.
[116] Fix | Delete
*/
[117] Fix | Delete
protected function on_dashboard_page( $current_page ) {
[118] Fix | Delete
// phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Date is not processed or saved.
[119] Fix | Delete
if ( $current_page === 'admin.php' && isset( $_GET['page'] ) && \sanitize_text_field( \wp_unslash( $_GET['page'] ) ) === 'wpseo_dashboard' ) {
[120] Fix | Delete
return true;
[121] Fix | Delete
}
[122] Fix | Delete
[123] Fix | Delete
return ( $current_page === 'index.php' );
[124] Fix | Delete
}
[125] Fix | Delete
[126] Fix | Delete
/**
[127] Fix | Delete
* Checks if the installed php version is supported.
[128] Fix | Delete
*
[129] Fix | Delete
* @codeCoverageIgnore
[130] Fix | Delete
*
[131] Fix | Delete
* @return bool True when the php version is support.
[132] Fix | Delete
*/
[133] Fix | Delete
protected function is_supported_php_version_installed() {
[134] Fix | Delete
try {
[135] Fix | Delete
$checker = new RequirementsChecker( [ 'php' => \PHP_VERSION ] );
[136] Fix | Delete
[137] Fix | Delete
$checker->addRequirement( VersionRequirement::fromCompareString( 'php', '>=7.4' ) );
[138] Fix | Delete
$checker->check();
[139] Fix | Delete
[140] Fix | Delete
return $checker->hasMessages() === false;
[141] Fix | Delete
}
[142] Fix | Delete
catch ( InvalidVersionComparisonString $e ) {
[143] Fix | Delete
return true;
[144] Fix | Delete
}
[145] Fix | Delete
catch ( InvalidType $e ) {
[146] Fix | Delete
return true;
[147] Fix | Delete
}
[148] Fix | Delete
}
[149] Fix | Delete
[150] Fix | Delete
/**
[151] Fix | Delete
* Creates a new message to display regarding the usage of PHP 7.3 (or lower).
[152] Fix | Delete
*
[153] Fix | Delete
* @codeCoverageIgnore
[154] Fix | Delete
*
[155] Fix | Delete
* @return void
[156] Fix | Delete
*/
[157] Fix | Delete
protected function show_unsupported_php_message() {
[158] Fix | Delete
$presenter = new WPMessagePresenter(
[159] Fix | Delete
$this,
[160] Fix | Delete
new MessageDismisser( \time(), ( \WEEK_IN_SECONDS * 4 ), new WPDismissOption() ),
[161] Fix | Delete
\__( 'Remind me again in 4 weeks.', 'wordpress-seo' )
[162] Fix | Delete
);
[163] Fix | Delete
$presenter->registerHooks();
[164] Fix | Delete
}
[165] Fix | Delete
}
[166] Fix | Delete
[167] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function