-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathhook.php
More file actions
90 lines (73 loc) · 2.99 KB
/
hook.php
File metadata and controls
90 lines (73 loc) · 2.99 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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<?php
/**
-------------------------------------------------------------------------
LICENSE
This file is part of Transferticketentity plugin for GLPI.
Transferticketentity is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Transferticketentity is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with Reports. If not, see <http://www.gnu.org/licenses/>.
@category Ticket
@package Transferticketentity
@author Yannick Comba <y.comba@maine-et-loire.fr>
@copyright 2015-2023 Département de Maine et Loire plugin team
@license AGPL License 3.0 or (at your option) any later version
https://www.gnu.org/licenses/gpl-3.0.html
@link https://github.com/departement-maine-et-loire/
--------------------------------------------------------------------------
*/
use GlpiPlugin\Transferticketentity\Profile;
/**
* Install hook
*
* @return boolean
*/
function plugin_transferticketentity_install()
{
global $DB;
Profile::createFirstAccess($_SESSION["glpiactiveprofile"]["id"]);
$default_charset = DBConnection::getDefaultCharset();
$default_collation = DBConnection::getDefaultCollation();
$default_key_sign = DBConnection::getDefaultPrimaryKeySignOption();
if (!$DB->TableExists("glpi_plugin_transferticketentity_entities_settings")) {
$query = "CREATE TABLE `glpi_plugin_transferticketentity_entities_settings` (
`id` int {$default_key_sign} NOT NULL auto_increment,
`entities_id` int {$default_key_sign} NOT NULL,
`allow_entity_only_transfer` BOOLEAN NOT NULL DEFAULT 0,
`justification_transfer` BOOLEAN NOT NULL DEFAULT 0,
`allow_transfer` BOOLEAN NOT NULL DEFAULT 0,
`keep_category` BOOLEAN NOT NULL DEFAULT 0,
`itilcategories_id` INT {$default_key_sign},
PRIMARY KEY (`id`),
FOREIGN KEY (`entities_id`) REFERENCES `glpi_entities` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET={$default_charset} COLLATE={$default_collation} ROW_FORMAT=DYNAMIC;";
$DB->doQuery($query);
}
return true;
}
/**
* Uninstall hook
*
* @return boolean
*/
function plugin_transferticketentity_uninstall()
{
global $DB;
// Plugin tables deletion
$tables = ["glpi_plugin_transferticketentity_entities_settings"];
foreach ($tables as $table) {
$DB->dropTable($table);
}
//Delete rights associated with the plugin
$profileRight = new ProfileRight();
foreach (Profile::getAllRights() as $right) {
$profileRight->deleteByCriteria(['name' => $right['field']]);
}
return true;
}