-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.php
More file actions
73 lines (58 loc) · 2.36 KB
/
Copy pathsetup.php
File metadata and controls
73 lines (58 loc) · 2.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?php
global $CFG_GLPI;
define('EXTERNALLINKS_VERSION', '1.0.0');
define('EXTERNALLINKS_ITSMNG_MIN_VERSION', '2.0');
$hostLoader = require __DIR__ . '/../../vendor/autoload.php';
$hostLoader->addPsr4('GlpiPlugin\\Externallinks\\', __DIR__ . '/src/');
function plugin_version_externallinks(): array
{
return [
'name' => 'Externallinks Plugin',
'version' => EXTERNALLINKS_VERSION,
'author' => 'Théodore Clément',
'homepage' => 'https://github.com/itsmng/externallinks',
'license' => '<a href="../plugins/externallinks/LICENSE" target="_blank">GPLv3</a>',
];
}
function plugin_init_externallinks(): void
{
global $PLUGIN_HOOKS;
$PLUGIN_HOOKS['csrf_compliant']['externallinks'] = true;
\Plugin::registerClass(\GlpiPlugin\Externallinks\PluginExternallinksProfile::class, [
'addtabon' => \Profile::class,
]);
$PLUGIN_HOOKS['change_profile']['externallinks'] = [
\GlpiPlugin\Externallinks\PluginExternallinksProfile::class,
'changeProfile',
];
if (\Session::haveRight('plugin_externallinks_config', \UPDATE)) {
$PLUGIN_HOOKS['config_page']['externallinks'] = 'front/config.form.php';
}
if (\Session::haveRight('plugin_externallinks_access', \READ)) {
$PLUGIN_HOOKS['menu_toadd']['externallinks'] = [
'assets' => [\GlpiPlugin\Externallinks\Menu\AssetsMenu::class],
'helpdesk' => [\GlpiPlugin\Externallinks\Menu\HelpdeskMenu::class],
'management' => [\GlpiPlugin\Externallinks\Menu\ManagementMenu::class],
'tools' => [\GlpiPlugin\Externallinks\Menu\ToolsMenu::class],
'plugins' => [\GlpiPlugin\Externallinks\Menu\PluginsMenu::class],
'admin' => [\GlpiPlugin\Externallinks\Menu\AdminMenu::class],
'config' => [\GlpiPlugin\Externallinks\Menu\ConfigMenu::class],
];
}
}
function externallinks_check_prerequisites(): bool
{
$prerequisitesSuccess = true;
if (!defined('ITSM_VERSION') || version_compare(ITSM_VERSION, EXTERNALLINKS_ITSMNG_MIN_VERSION, 'lt')) {
echo 'This plugin requires ITSM >= ' . EXTERNALLINKS_ITSMNG_MIN_VERSION . '<br>';
$prerequisitesSuccess = false;
}
return $prerequisitesSuccess;
}
function externallinks_check_config($verbose = false): bool
{
if ($verbose) {
echo 'Checking plugin configuration<br>';
}
return true;
}