'Profile', ]); Plugin::registerClass(Server::class, [ 'linkgroup_types' => true, 'document_types' => true, ]); Plugin::registerClass(ServerAsset::class); Plugin::registerClass(PluginUrbackupMassiveAction::class); // Register tab on Computer and other assets $enabled_types = Config::getEnabledItemtypes(); if (!empty($enabled_types)) { Plugin::registerClass(AssetTab::class, [ 'addtabon' => $enabled_types, ]); } $PLUGIN_HOOKS['config_page']['urbackup'] = 'front/config.form.php'; $PLUGIN_HOOKS[Hooks::MENU_TOADD]['urbackup'] = [ 'admin' => Server::class, ]; $PLUGIN_HOOKS[Hooks::USE_MASSIVE_ACTION]['urbackup'] = true; $PLUGIN_HOOKS[Hooks::ADD_CSS]['urbackup'] = [ 'public/css/urbackup.css', ]; $PLUGIN_HOOKS[Hooks::ADD_JAVASCRIPT]['urbackup'] = [ 'public/js/urbackup.js', ]; $PLUGIN_HOOKS[Hooks::POST_INIT]['urbackup'] = 'plugin_urbackup_postinit'; } /** * Post init hook. * * @return void */ function plugin_urbackup_postinit(): void { Config::registerAssetTabs(); } /** * Plugin version information. * * @return array */ function plugin_version_urbackup(): array { return [ 'name' => __('UrBackup', 'urbackup'), 'version' => PLUGIN_URBACKUP_VERSION, 'author' => 'Finstral', 'license' => 'GPL-2.0-or-later', 'homepage' => '', 'requirements' => [ 'glpi' => [ 'min' => PLUGIN_URBACKUP_MIN_GLPI, 'max' => PLUGIN_URBACKUP_MAX_GLPI, ], 'php' => [ 'min' => '8.3.0', ], ], ]; } /** * Check plugin prerequisites. * * @return bool */ function plugin_urbackup_check_prerequisites(): bool { if (version_compare(GLPI_VERSION, PLUGIN_URBACKUP_MIN_GLPI, '<')) { echo sprintf( __('This plugin requires GLPI >= %s.', 'urbackup'), PLUGIN_URBACKUP_MIN_GLPI ); return false; } if (version_compare(GLPI_VERSION, PLUGIN_URBACKUP_MAX_GLPI, '>')) { echo sprintf( __('This plugin requires GLPI < %s.', 'urbackup'), PLUGIN_URBACKUP_MAX_GLPI ); return false; } if (version_compare(PHP_VERSION, '8.3.0', '<')) { echo __('This plugin requires PHP 8.3 or higher.', 'urbackup'); return false; } return true; } /** * Check plugin config. * * @param bool $verbose Verbose output * * @return bool */ function plugin_urbackup_check_config(bool $verbose = false): bool { return true; } /** * Plugin installation function. * * @return bool */ function plugin_urbackup_install(): bool { require_once __DIR__ . '/install/install.php'; return plugin_urbackup_install_process(); } /** * Plugin uninstallation function. * * @return bool */ function plugin_urbackup_uninstall(): bool { require_once __DIR__ . '/install/uninstall.php'; return plugin_urbackup_uninstall_process(); }