2023-09-28 06:13:44 -04:00
< ? php
declare ( strict_types = 1 );
/**
* @ copyright Copyright ( c ) 2022 Carl Schwan < carl @ carlschwan . eu >
*
* @ author Carl Schwan < carl @ carlschwan . eu >
* @ author Côme Chilliet < come . chilliet @ nextcloud . com >
*
* @ license GNU AGPL version 3 or any later version
*
* This program is free software : you can redistribute it and / or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation , either version 3 of the
* License , or ( at your option ) any later version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU Affero General Public License for more details .
*
* You should have received a copy of the GNU Affero General Public License
* along with this program . If not , see < http :// www . gnu . org / licenses />.
*
*/
namespace OCA\Settings\SetupChecks ;
use OCP\IL10N ;
use OCP\SetupCheck\ISetupCheck ;
use OCP\SetupCheck\SetupResult ;
class PhpOutdated implements ISetupCheck {
public function __construct (
private IL10N $l10n ,
) {
}
public function getCategory () : string {
return 'security' ;
}
public function getName () : string {
2023-10-24 05:40:03 -04:00
return $this -> l10n -> t ( 'PHP version' );
2023-09-28 06:13:44 -04:00
}
public function run () : SetupResult {
2024-04-01 11:31:57 -04:00
if ( PHP_VERSION_ID < 80200 ) {
2024-05-10 16:05:43 -04:00
return SetupResult :: warning ( $this -> l10n -> t ( 'PHP %s detected. PHP >= 8.2 and <= 8.3 is suggested for optimal performance, security, and stability with this version of Nextcloud. Additionally, the next major release of Nextcloud will likely require >= PHP 8.2.' , [ PHP_VERSION ]), 'https://secure.php.net/supported-versions.php' );
2023-09-28 06:13:44 -04:00
}
2023-10-16 11:23:47 -04:00
return SetupResult :: success ( $this -> l10n -> t ( 'You are currently running PHP %s.' , [ PHP_VERSION ]));
2023-09-28 06:13:44 -04:00
}
}