2024-01-15 11:08:14 -05:00
< ? php
declare ( strict_types = 1 );
/**
2024-06-03 04:23:34 -04:00
* SPDX - FileCopyrightText : 2023 Nextcloud GmbH and Nextcloud contributors
* SPDX - License - Identifier : AGPL - 3.0 - or - later
2024-01-15 11:08:14 -05:00
*/
namespace OCA\Settings\SetupChecks ;
use OCP\IL10N ;
use OCP\SetupCheck\ISetupCheck ;
use OCP\SetupCheck\SetupResult ;
class PhpDisabledFunctions implements ISetupCheck {
public function __construct (
private IL10N $l10n ,
) {
}
2026-04-28 13:35:30 -04:00
#[\Override]
2024-01-15 11:08:14 -05:00
public function getName () : string {
return $this -> l10n -> t ( 'PHP set_time_limit' );
}
2026-04-28 13:35:30 -04:00
#[\Override]
2024-01-15 11:08:14 -05:00
public function getCategory () : string {
return 'php' ;
}
2026-04-28 13:35:30 -04:00
#[\Override]
2024-01-15 11:08:14 -05:00
public function run () : SetupResult {
if ( function_exists ( 'set_time_limit' ) && ! str_contains ( ini_get ( 'disable_functions' ), 'set_time_limit' )) {
return SetupResult :: success ( $this -> l10n -> t ( 'The function is available.' ));
} else {
return SetupResult :: warning (
$this -> l10n -> t ( 'The PHP function "set_time_limit" is not available. This could result in scripts being halted mid-execution, breaking your installation. Enabling this function is strongly recommended.' ),
);
}
}
}