isInstalled('butterfly') && $plugin->isActivated('butterfly')) { $autoload = __DIR__ . '/vendor/autoload.php'; if (file_exists($autoload)) { include_once $autoload; } ; // Sem barra invertida inicial: isPluginItemType() rejeita '\GlpiPlugin\...' // e registerClass retornaria false silenciosamente (::class nunca tem o \) Plugin::registerClass(\GlpiPlugin\Butterfly\Config::class, [ 'addtabon' => ['Config'] ]); // Register config page only when installed & activated $PLUGIN_HOOKS['config_page']['butterfly'] = '../../front/config.form.php?itemtype=Config&glpi_tab=' . rawurlencode('GlpiPlugin\Butterfly\Config') . '$1'; $PLUGIN_HOOKS['display_login']['butterfly'] = "plugin_butterfly_display_login"; // GLPI 11 appends ?v= itself; the endpoints // handle config-change cache busting via their own timestamp redirect $PLUGIN_HOOKS["add_css"]['butterfly'] = 'front/internal.css.php'; $PLUGIN_HOOKS["add_javascript"]['butterfly'] = 'front/internal.js.php'; $CFG_GLPI['javascript']['config']['config'][] = 'tinymce'; $CFG_GLPI['javascript']['config']['config'][] = 'monaco'; } } // Get the name and the version of the plugin - Needed function plugin_version_butterfly() { return [ 'name' => t_butterfly('Butterfly'), 'version' => PLUGIN_BUTTERFLY_VERSION, 'author' => 'Rodolpho Lopes', 'homepage' => 'https://github.com/rodolpholopes', 'license' => 'GPL v2+', 'minGlpiVersion' => PLUGIN_BUTTERFLY_MIN_GLPI_VERSION, 'requirements' => [ 'glpi' => [ 'min' => PLUGIN_BUTTERFLY_MIN_GLPI_VERSION, 'max' => PLUGIN_BUTTERFLY_MAX_GLPI_VERSION, ] ] ]; } // Optional : check prerequisites before install : may print errors or add to message after redirect function plugin_butterfly_check_prerequisites() { if (version_compare(GLPI_VERSION, PLUGIN_BUTTERFLY_MIN_GLPI_VERSION, 'lt')) { echo "This plugin requires GLPI >= " . PLUGIN_BUTTERFLY_MIN_GLPI_VERSION; return false; } else { return true; } } function plugin_butterfly_check_config($verbose = false) { plugin_butterfly_load_license(); if (!class_exists('\GlpiPlugin\Mindplace\License') || !\GlpiPlugin\Mindplace\License::isValid()) { if ($verbose && !isCommandLine()) { echo "
Licença Mindtek inativa ou Mind Place ausente. O plugin foi desativado por segurança.
"; } return false; } return true; } function t_butterfly($str) { return __($str, 'butterfly'); }