Build VIP: variante sem validação de licença Mindplace
Remove as duas camadas do kill switch (KB-PLUGIN-013) para distribuição direta a contas estratégicas, fora do catálogo Mindplace: - plugin_butterfly_load_license() removida; - plugin_init_butterfly() inicializa sempre, sem checar licença; - plugin_butterfly_check_config() retorna true incondicionalmente. Versão marcada como 2.3.1-vip para o suporte identificar o build. Único arquivo divergente do main é o setup.php — correções de produto devem ser feitas no main e trazidas com `git merge main`. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
b409b65895
commit
f15af72244
1 changed files with 12 additions and 37 deletions
49
setup.php
49
setup.php
|
|
@ -1,6 +1,14 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
define('PLUGIN_BUTTERFLY_VERSION', '2.3.1');
|
/**
|
||||||
|
* BUILD VIP — variante sem validação de licença Mindplace.
|
||||||
|
*
|
||||||
|
* Distribuída diretamente a contas estratégicas, fora do catálogo Mindplace.
|
||||||
|
* Difere do build padrão (branch main) APENAS pela ausência do kill switch:
|
||||||
|
* qualquer outra correção deve ser feita no main e trazida com `git merge main`.
|
||||||
|
* O sufixo -vip na versão existe para o suporte identificar o build instalado.
|
||||||
|
*/
|
||||||
|
define('PLUGIN_BUTTERFLY_VERSION', '2.3.1-vip');
|
||||||
|
|
||||||
// Minimal GLPI version, inclusive
|
// Minimal GLPI version, inclusive
|
||||||
define("PLUGIN_BUTTERFLY_MIN_GLPI_VERSION", "11.0.0");
|
define("PLUGIN_BUTTERFLY_MIN_GLPI_VERSION", "11.0.0");
|
||||||
|
|
@ -16,26 +24,6 @@ if (strtolower($folder) !== "butterfly") {
|
||||||
Session::addMessageAfterRedirect($msg, true, ERROR);
|
Session::addMessageAfterRedirect($msg, true, ERROR);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Carrega a classe License do Mindplace caso o autoload ainda não tenha rodado.
|
|
||||||
* Necessário porque o plugin pode inicializar antes do mindplace (KB-PLUGIN-013).
|
|
||||||
*/
|
|
||||||
function plugin_butterfly_load_license()
|
|
||||||
{
|
|
||||||
if (class_exists('\GlpiPlugin\Mindplace\License')) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
foreach ([
|
|
||||||
GLPI_ROOT . '/plugins/mindplace/src/License.php',
|
|
||||||
GLPI_ROOT . '/marketplace/mindplace/src/License.php',
|
|
||||||
] as $path) {
|
|
||||||
if (file_exists($path)) {
|
|
||||||
include_once $path;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Init the hooks of the plugins -Needed
|
// Init the hooks of the plugins -Needed
|
||||||
function plugin_init_butterfly()
|
function plugin_init_butterfly()
|
||||||
{
|
{
|
||||||
|
|
@ -61,14 +49,8 @@ function plugin_init_butterfly()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ──────────────────────────────────────────────────────────────────
|
// Build VIP: sem kill switch de licença — o plugin inicializa sempre,
|
||||||
// KILL SWITCH — aborta silenciosamente se a licença Mindtek for inválida
|
// independente da presença do Mindplace.
|
||||||
// (KB-PLUGIN-013; camada 2 — a camada 1 é o check_config)
|
|
||||||
// ──────────────────────────────────────────────────────────────────
|
|
||||||
plugin_butterfly_load_license();
|
|
||||||
if (!class_exists('\GlpiPlugin\Mindplace\License') || !\GlpiPlugin\Mindplace\License::isValid()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
$plugin = new Plugin();
|
$plugin = new Plugin();
|
||||||
|
|
||||||
|
|
@ -133,14 +115,7 @@ function plugin_butterfly_check_prerequisites()
|
||||||
|
|
||||||
function plugin_butterfly_check_config($verbose = false)
|
function plugin_butterfly_check_config($verbose = false)
|
||||||
{
|
{
|
||||||
plugin_butterfly_load_license();
|
// Build VIP: sem validação de licença — ativa em qualquer instalação.
|
||||||
|
|
||||||
if (!class_exists('\GlpiPlugin\Mindplace\License') || !\GlpiPlugin\Mindplace\License::isValid()) {
|
|
||||||
if ($verbose && !isCommandLine()) {
|
|
||||||
echo "<div class='alert alert-danger'>Licença Mindtek inativa ou Mind Place ausente. O plugin foi desativado por segurança.</div>";
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue