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:
Claude 2026-07-31 13:19:51 -03:00
parent b409b65895
commit f15af72244

View file

@ -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;
} }