mirror of
https://github.com/getgrav/grav-plugin-admin.git
synced 2026-03-06 20:41:33 +01:00
@@ -14,6 +14,7 @@
|
||||
|
||||
namespace Grav\Plugin\Admin;
|
||||
|
||||
use Grav\Common\Config\Config;
|
||||
use Grav\Common\Filesystem\Folder;
|
||||
use Grav\Common\GPM\Installer;
|
||||
use Grav\Common\GPM\GPM;
|
||||
@@ -1068,14 +1069,37 @@ class SafeUpgradeManager
|
||||
{
|
||||
try {
|
||||
$config = $this->grav['config'] ?? null;
|
||||
if ($config === null) {
|
||||
return true;
|
||||
return self::configAllowsSafeUpgrade($config);
|
||||
} catch (Throwable $e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Config|null $config
|
||||
* @return bool
|
||||
*/
|
||||
public static function configAllowsSafeUpgrade(?Config $config): bool
|
||||
{
|
||||
if ($config === null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$value = $config->get('system.updates.safe_upgrade');
|
||||
if ($value === null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (is_string($value)) {
|
||||
$filtered = filter_var($value, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE);
|
||||
if ($filtered === null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return (bool)$config->get('system.updates.safe_upgrade', true);
|
||||
} catch (Throwable $e) {
|
||||
return true;
|
||||
return $filtered;
|
||||
}
|
||||
|
||||
return (bool)$value;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user