Compare commits

..

No commits in common. "vip" and "main" have entirely different histories.
vip ... main

View file

@ -1,14 +1,6 @@
<?php
/**
* 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');
define('PLUGIN_BUTTERFLY_VERSION', '2.3.1');
// Minimal GLPI version, inclusive
define("PLUGIN_BUTTERFLY_MIN_GLPI_VERSION", "11.0.0");
@ -24,6 +16,26 @@ if (strtolower($folder) !== "butterfly") {
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
function plugin_init_butterfly()
{
@ -49,8 +61,14 @@ function plugin_init_butterfly()
);
}
// Build VIP: sem kill switch de licença — o plugin inicializa sempre,
// independente da presença do Mindplace.
// ──────────────────────────────────────────────────────────────────
// KILL SWITCH — aborta silenciosamente se a licença Mindtek for inválida
// (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();
@ -115,7 +133,14 @@ function plugin_butterfly_check_prerequisites()
function plugin_butterfly_check_config($verbose = false)
{
// Build VIP: sem validação de licença — ativa em qualquer instalação.
plugin_butterfly_load_license();
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;
}