Skip to content

Commit

Permalink
Ahora podemos indicar la versión mínima soportada de PHP con el campo…
Browse files Browse the repository at this point in the history
… min_php del archivo facturascripts.ini
  • Loading branch information
NeoRazorX committed Apr 28, 2022
1 parent 1d1edb4 commit 47c1da7
Show file tree
Hide file tree
Showing 22 changed files with 36 additions and 7 deletions.
22 changes: 15 additions & 7 deletions Core/Base/PluginManager.php
Expand Up @@ -156,6 +156,12 @@ public function enable(string $pluginName): bool
continue;
}

// check php version
if (version_compare(PHP_VERSION, $plugin['min_php']) < 0) {
ToolBox::i18nLog()->warning('plugin-phpversion-error', ['%pluginName%' => $pluginName, '%php%' => $plugin['min_php']]);
return false;
}

if ($this->checkRequire($plugin['require'])) {
$plugin['enabled'] = true;
self::$enabledPlugins[] = $plugin;
Expand Down Expand Up @@ -375,6 +381,7 @@ private function getPluginInfo(string $pluginName, string $iniContent): array
'compatible' => false,
'description' => 'Incompatible',
'enabled' => false,
'min_php' => 7.2,
'min_version' => 0.0,
'name' => $pluginName,
'require' => [],
Expand All @@ -388,7 +395,14 @@ private function getPluginInfo(string $pluginName, string $iniContent): array
$info['name'] = strip_tags($ini['name'] ?? $info['name']);
$info['version'] = floatval($ini['version'] ?? $info['version']);
$info['description'] = strip_tags($ini['description'] ?? $info['description']);
$info['min_php'] = floatval($ini['min_php'] ?? $info['min_php']);

$info['min_version'] = floatval($ini['min_version'] ?? $info['min_version']);
if ($info['min_version'] <= self::CORE_VERSION && $info['min_version'] >= 2020) {
$info['compatible'] = true;
} else {
$info['description'] = ToolBox::i18n()->trans('incompatible-with-facturascripts', ['%version%' => self::CORE_VERSION]);
}

if (isset($ini['require'])) {
foreach (explode(',', $ini['require']) as $req) {
Expand All @@ -399,18 +413,12 @@ private function getPluginInfo(string $pluginName, string $iniContent): array
}
}

if ($info['min_version'] <= self::CORE_VERSION && $info['min_version'] >= 2020) {
$info['compatible'] = true;
} else {
$info['description'] = ToolBox::i18n()->trans('incompatible-with-facturascripts', ['%version%' => self::CORE_VERSION]);
}

$info['enabled'] = in_array($info['name'], $this->enabledPlugins());
return $info;
}

/**
* Returns an array with the list of plugins in the plugin.list file.
* Returns an array with the list of plugins in the plugin.json file.
*
* @return array
*/
Expand Down
1 change: 1 addition & 0 deletions Core/Translation/ca_ES.json
Expand Up @@ -920,6 +920,7 @@
"plugin-needed": "Es necessita el plugin %pluginName%.",
"plugin-needs-fs-version": "El plugin %pluginName% necessita FacturaScripts %minVersion% però té instal·lat FacturaScripts %version%",
"plugin-not-compatible": "El Plugin %pluginName% no és compatible amb FacturaScripts %version%",
"plugin-phpversion-error": "El plugin %pluginName% requiere PHP %php% o superior",
"plugin-removal-disabled": "L'eliminació de plugins està desactivada en aquest servidor",
"plugin-unsupported-version": "El plugin %pluginName% és per a FacturaScripts 2017 o anteriors, però estàs fent servir FacturaScripts %version%",
"plugin-update": "Actualització del plugin %pluginName% a la versió %version%",
Expand Down
1 change: 1 addition & 0 deletions Core/Translation/de_DE.json
Expand Up @@ -920,6 +920,7 @@
"plugin-needed": "Plugin %pluginName% nötig.",
"plugin-needs-fs-version": "Plugin %pluginName% benötigt FacturaScripts %minVersion%, aber sie haben FacturaScripts %version% installiert",
"plugin-not-compatible": "Plugin %pluginName% nicht kompatibel mit FacturaScripts 2018.",
"plugin-phpversion-error": "El plugin %pluginName% requiere PHP %php% o superior",
"plugin-removal-disabled": "Plugin-Entfernung ist auf diesem Server deaktiviert",
"plugin-unsupported-version": "plugin-unsupported-version",
"plugin-update": "Aktualliesierung des Plugins %pluginName% auf Version %version%",
Expand Down
1 change: 1 addition & 0 deletions Core/Translation/en_EN.json
Expand Up @@ -920,6 +920,7 @@
"plugin-needed": "Plugin %pluginName% needed.",
"plugin-needs-fs-version": "The plugin %pluginName% needs FacturaScripts %minVersion% but you have FacturaScripts %version%",
"plugin-not-compatible": "The plugin %pluginName% is not compatible with FacturaScripts %version%",
"plugin-phpversion-error": "El plugin %pluginName% requiere PHP %php% o superior",
"plugin-removal-disabled": "Plugin removal is disabled on this server",
"plugin-unsupported-version": "The plugin %pluginName% is for FacturaScripts 2017 or lower, but you are using FacturaScripts %version%.",
"plugin-update": "Update of plugin %pluginName% to version %version%",
Expand Down
1 change: 1 addition & 0 deletions Core/Translation/es_AR.json
Expand Up @@ -920,6 +920,7 @@
"plugin-needed": "Se requiere el plugin %pluginName%.",
"plugin-needs-fs-version": "El plugin %pluginName% necesita FacturaScripts %minVersion% pero tiene instalado FacturaScripts %version%",
"plugin-not-compatible": "El Plugin %pluginName% no es compatible con FacturaScripts %version%",
"plugin-phpversion-error": "El plugin %pluginName% requiere PHP %php% o superior",
"plugin-removal-disabled": "La eliminación de plugins está desactivada en este servidor",
"plugin-unsupported-version": "El plugin %pluginName% es para FacturaScripts 2017 o anteriores, pero estás usando FacturaScripts %version%",
"plugin-update": "Actualización del plugin %pluginName% a la versión %version%",
Expand Down
1 change: 1 addition & 0 deletions Core/Translation/es_CL.json
Expand Up @@ -920,6 +920,7 @@
"plugin-needed": "Se requiere el plugin %pluginName%.",
"plugin-needs-fs-version": "El plugin %pluginName% necesita FacturaScripts %minVersion% pero tiene instalado FacturaScripts %version%",
"plugin-not-compatible": "El Plugin %pluginName% no es compatible con FacturaScripts %version%",
"plugin-phpversion-error": "El plugin %pluginName% requiere PHP %php% o superior",
"plugin-removal-disabled": "La eliminación de plugins está desactivada en este servidor",
"plugin-unsupported-version": "El plugin %pluginName% es para FacturaScripts 2017 o anteriores, pero estás usando FacturaScripts %version%",
"plugin-update": "Actualización del plugin %pluginName% a la versión %version%",
Expand Down
1 change: 1 addition & 0 deletions Core/Translation/es_CO.json
Expand Up @@ -920,6 +920,7 @@
"plugin-needed": "Se requiere el plugin %pluginName%.",
"plugin-needs-fs-version": "El plugin %pluginName% necesita FacturaScripts %minVersion% pero tiene instalado FacturaScripts %version%",
"plugin-not-compatible": "El Plugin %pluginName% no es compatible con FacturaScripts %version%",
"plugin-phpversion-error": "El plugin %pluginName% requiere PHP %php% o superior",
"plugin-removal-disabled": "La eliminación de plugins está desactivada en este servidor",
"plugin-unsupported-version": "El plugin %pluginName% es para FacturaScripts 2017 o anteriores, pero estás usando FacturaScripts %version%",
"plugin-update": "Actualización del plugin %pluginName% a la versión %version%",
Expand Down
1 change: 1 addition & 0 deletions Core/Translation/es_CR.json
Expand Up @@ -920,6 +920,7 @@
"plugin-needed": "Se requiere el plugin %pluginName%.",
"plugin-needs-fs-version": "El plugin %pluginName% necesita FacturaScripts %minVersion% pero tiene instalado FacturaScripts %version%",
"plugin-not-compatible": "El Plugin %pluginName% no es compatible con FacturaScripts %version%",
"plugin-phpversion-error": "El plugin %pluginName% requiere PHP %php% o superior",
"plugin-removal-disabled": "La eliminación de plugins está desactivada en este servidor",
"plugin-unsupported-version": "El plugin %pluginName% es para FacturaScripts 2017 o anteriores, pero estás usando FacturaScripts %version%",
"plugin-update": "Actualización del plugin %pluginName% a la versión %version%",
Expand Down
1 change: 1 addition & 0 deletions Core/Translation/es_DO.json
Expand Up @@ -920,6 +920,7 @@
"plugin-needed": "Se requiere el plugin %pluginName%.",
"plugin-needs-fs-version": "El plugin %pluginName% necesita FacturaScripts %minVersion% pero tiene instalado FacturaScripts %version%",
"plugin-not-compatible": "El Plugin %pluginName% no es compatible con FacturaScripts %version%",
"plugin-phpversion-error": "El plugin %pluginName% requiere PHP %php% o superior",
"plugin-removal-disabled": "La eliminación de plugins está desactivada en este servidor",
"plugin-unsupported-version": "El plugin %pluginName% es para FacturaScripts 2017 o anteriores, pero estás usando FacturaScripts %version%",
"plugin-update": "Actualización del plugin %pluginName% a la versión %version%",
Expand Down
1 change: 1 addition & 0 deletions Core/Translation/es_EC.json
Expand Up @@ -920,6 +920,7 @@
"plugin-needed": "Se requiere el plugin %pluginName%.",
"plugin-needs-fs-version": "El plugin %pluginName% necesita FacturaScripts %minVersion% pero tiene instalado FacturaScripts %version%",
"plugin-not-compatible": "El Plugin %pluginName% no es compatible con FacturaScripts %version%",
"plugin-phpversion-error": "El plugin %pluginName% requiere PHP %php% o superior",
"plugin-removal-disabled": "La eliminación de plugins está desactivada en este servidor",
"plugin-unsupported-version": "El plugin %pluginName% es para FacturaScripts 2017 o anteriores, pero estás usando FacturaScripts %version%",
"plugin-update": "Actualización del plugin %pluginName% a la versión %version%",
Expand Down
1 change: 1 addition & 0 deletions Core/Translation/es_ES.json
Expand Up @@ -920,6 +920,7 @@
"plugin-needed": "Se requiere el plugin %pluginName%.",
"plugin-needs-fs-version": "El plugin %pluginName% necesita FacturaScripts %minVersion% pero tiene instalado FacturaScripts %version%",
"plugin-not-compatible": "El Plugin %pluginName% no es compatible con FacturaScripts %version%",
"plugin-phpversion-error": "El plugin %pluginName% requiere PHP %php% o superior",
"plugin-removal-disabled": "La eliminación de plugins está desactivada en este servidor",
"plugin-unsupported-version": "El plugin %pluginName% es para FacturaScripts 2017 o anteriores, pero estás usando FacturaScripts %version%",
"plugin-update": "Actualización del plugin %pluginName% a la versión %version%",
Expand Down
1 change: 1 addition & 0 deletions Core/Translation/es_GT.json
Expand Up @@ -920,6 +920,7 @@
"plugin-needed": "Se requiere el plugin %pluginName%.",
"plugin-needs-fs-version": "El plugin %pluginName% necesita FacturaScripts %minVersion% pero tiene instalado FacturaScripts %version%",
"plugin-not-compatible": "El Plugin %pluginName% no es compatible con FacturaScripts %version%",
"plugin-phpversion-error": "El plugin %pluginName% requiere PHP %php% o superior",
"plugin-removal-disabled": "La eliminación de plugins está desactivada en este servidor",
"plugin-unsupported-version": "El plugin %pluginName% es para FacturaScripts 2017 o anteriores, pero estás usando FacturaScripts %version%",
"plugin-update": "Actualización del plugin %pluginName% a la versión %version%",
Expand Down
1 change: 1 addition & 0 deletions Core/Translation/es_MX.json
Expand Up @@ -920,6 +920,7 @@
"plugin-needed": "Se requiere el plugin %pluginName%.",
"plugin-needs-fs-version": "El plugin %pluginName% necesita FacturaScripts %minVersion% pero tiene instalado FacturaScripts %version%",
"plugin-not-compatible": "El Plugin %pluginName% no es compatible con FacturaScripts %version%",
"plugin-phpversion-error": "El plugin %pluginName% requiere PHP %php% o superior",
"plugin-removal-disabled": "La eliminación de plugins está desactivada en este servidor",
"plugin-unsupported-version": "El plugin %pluginName% es para FacturaScripts 2017 o anteriores, pero estás usando FacturaScripts %version%",
"plugin-update": "Actualización del plugin %pluginName% a la versión %version%",
Expand Down
1 change: 1 addition & 0 deletions Core/Translation/es_PA.json
Expand Up @@ -920,6 +920,7 @@
"plugin-needed": "Se requiere el plugin %pluginName%.",
"plugin-needs-fs-version": "El plugin %pluginName% necesita FacturaScripts %minVersion% pero tiene instalado FacturaScripts %version%",
"plugin-not-compatible": "El Plugin %pluginName% no es compatible con FacturaScripts %version%",
"plugin-phpversion-error": "El plugin %pluginName% requiere PHP %php% o superior",
"plugin-removal-disabled": "La eliminación de plugins está desactivada en este servidor",
"plugin-unsupported-version": "El plugin %pluginName% es para FacturaScripts 2017 o anteriores, pero estás usando FacturaScripts %version%",
"plugin-update": "Actualización del plugin %pluginName% a la versión %version%",
Expand Down
1 change: 1 addition & 0 deletions Core/Translation/es_PE.json
Expand Up @@ -920,6 +920,7 @@
"plugin-needed": "Se requiere el plugin %pluginName%.",
"plugin-needs-fs-version": "El plugin %pluginName% necesita FacturaScripts %minVersion% pero tiene instalado FacturaScripts %version%",
"plugin-not-compatible": "El Plugin %pluginName% no es compatible con FacturaScripts %version%",
"plugin-phpversion-error": "El plugin %pluginName% requiere PHP %php% o superior",
"plugin-removal-disabled": "La eliminación de plugins está desactivada en este servidor",
"plugin-unsupported-version": "El plugin %pluginName% es para FacturaScripts 2017 o anteriores, pero estás usando FacturaScripts %version%",
"plugin-update": "Actualización del plugin %pluginName% a la versión %version%",
Expand Down
1 change: 1 addition & 0 deletions Core/Translation/es_UY.json
Expand Up @@ -920,6 +920,7 @@
"plugin-needed": "Se requiere el plugin %pluginName%.",
"plugin-needs-fs-version": "El plugin %pluginName% necesita FacturaScripts %minVersion% pero tiene instalado FacturaScripts %version%",
"plugin-not-compatible": "El Plugin %pluginName% no es compatible con FacturaScripts %version%",
"plugin-phpversion-error": "El plugin %pluginName% requiere PHP %php% o superior",
"plugin-removal-disabled": "La eliminación de plugins está desactivada en este servidor",
"plugin-unsupported-version": "El plugin %pluginName% es para FacturaScripts 2017 o anteriores, pero estás usando FacturaScripts %version%",
"plugin-update": "Actualización del plugin %pluginName% a la versión %version%",
Expand Down
1 change: 1 addition & 0 deletions Core/Translation/eu_ES.json
Expand Up @@ -920,6 +920,7 @@
"plugin-needed": "%pluginName% plugina behar da.",
"plugin-needs-fs-version": "%plugin% pluginak FacturaScripts %minVersion% behar du baina FacturaScritps %version% duzu instalatuta",
"plugin-not-compatible": "%pluginName% plugina ez da bateragarria FacturaScripts %version%rekin.",
"plugin-phpversion-error": "El plugin %pluginName% requiere PHP %php% o superior",
"plugin-removal-disabled": "Plugin ezabapena desaktibatuta dago zerbitzari honetan",
"plugin-unsupported-version": "%plugin% plugina FacturaScripts 2017 edo baxuagorentzat da, baina FacturaScritps %version% erabiltzen ari zara",
"plugin-update": "%PluginName% plugina %version%. bertsiora eguneratu da",
Expand Down
1 change: 1 addition & 0 deletions Core/Translation/fr_FR.json
Expand Up @@ -920,6 +920,7 @@
"plugin-needed": "Le plugin %pluginName% est nécessaire.",
"plugin-needs-fs-version": "Le module %pluginName% nécessite la version %minVersion% de FacturaScripts, alors que vous utilisez la version %version% de FacturaScripts.",
"plugin-not-compatible": "Le module %pluginName% n'est pas compatible avec FacturaScripts 2018.",
"plugin-phpversion-error": "El plugin %pluginName% requiere PHP %php% o superior",
"plugin-removal-disabled": "La suppression de modules est désactivée sur ce serveur",
"plugin-unsupported-version": "Le module %pluginName% est adapté pour FacturaScripts 2017 ou plus ancien, alors que vous utilisez la version %version% de FacturaScripts.",
"plugin-update": "Mise à jour du module %pluginName% vers la version %version%",
Expand Down
1 change: 1 addition & 0 deletions Core/Translation/gl_ES.json
Expand Up @@ -920,6 +920,7 @@
"plugin-needed": "Necesítase o plugin %pluginName%.",
"plugin-needs-fs-version": "O plugin %pluginName% precisa FacturaScripts %minVersion% pero ten instalado FacturaScripts %version%",
"plugin-not-compatible": "O Plugin %pluginName% non é compatible con FacturaScripts 2018.",
"plugin-phpversion-error": "El plugin %pluginName% requiere PHP %php% o superior",
"plugin-removal-disabled": "A eliminación de plugins está desactivada neste servidor",
"plugin-unsupported-version": "O plugin %pluginName% é para FacturaScripts 2017 ou anteriores, pero estás usando FacturaScripts %version%",
"plugin-update": "Actualización do plugin %pluginName% á versión %version%",
Expand Down
1 change: 1 addition & 0 deletions Core/Translation/it_IT.json
Expand Up @@ -920,6 +920,7 @@
"plugin-needed": "Plugin %pluginName% needed.",
"plugin-needs-fs-version": "plugin-needs-fs-version",
"plugin-not-compatible": "Plugin %pluginName% not compatible with FacturaScripts 2018.",
"plugin-phpversion-error": "El plugin %pluginName% requiere PHP %php% o superior",
"plugin-removal-disabled": "plugin-removal-disabled",
"plugin-unsupported-version": "plugin-unsupported-version",
"plugin-update": "Aggiornamento del plugin %pluginName% alla versione %version%",
Expand Down
1 change: 1 addition & 0 deletions Core/Translation/pt_PT.json
Expand Up @@ -920,6 +920,7 @@
"plugin-needed": "Plugin %pluginName% requerido.",
"plugin-needs-fs-version": "plugin-needs-fs-version",
"plugin-not-compatible": "Plugin %pluginName% não é compatível com FacturaScripts 2018.",
"plugin-phpversion-error": "El plugin %pluginName% requiere PHP %php% o superior",
"plugin-removal-disabled": "plugin-removal-disabled",
"plugin-unsupported-version": "plugin-unsupported-version",
"plugin-update": "plugin-update",
Expand Down
1 change: 1 addition & 0 deletions Core/Translation/va_ES.json
Expand Up @@ -920,6 +920,7 @@
"plugin-needed": "Se necessita el Plugin %pluginName%.",
"plugin-needs-fs-version": "El complement %pluginName% necessita FacturaScripts %minVersion% pero tens instalat FacturaScripts %version%",
"plugin-not-compatible": "El complement %pluginName% no és compatible en FacturaScripts 2018.",
"plugin-phpversion-error": "El plugin %pluginName% requiere PHP %php% o superior",
"plugin-removal-disabled": "L'eliminació de complements està deshabilitada en este servidor",
"plugin-unsupported-version": "El plugin %pluginName% és per a FacturaScripts 2017 o anteriors, però estàs fent servir FacturaScripts %version%",
"plugin-update": "Actualització del complement %pluginName% a la versió %version%",
Expand Down

0 comments on commit 47c1da7

Please sign in to comment.