forked from initiativa/roundrobin
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhook.php
130 lines (116 loc) · 3.7 KB
/
hook.php
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
<?php
if (!defined('GLPI_ROOT')) {
define('GLPI_ROOT', '../../..');
}
require_once GLPI_ROOT . '/inc/includes.php';
if (!defined('PLUGIN_TICKETBALANCE_DIR')) {
define('PLUGIN_TICKETBALANCE_DIR', __DIR__);
}
require_once PLUGIN_TICKETBALANCE_DIR . '/inc/TicketHookHandler.class.php';
require_once PLUGIN_TICKETBALANCE_DIR . '/inc/ITILCategoryHookHandler.class.php';
require_once PLUGIN_TICKETBALANCE_DIR . '/inc/RRAssignmentsEntity.class.php';
/**
* Hook Item Handlers by Item Type
*/
function plugin_ticketbalance_getHookHandlers() {
$HOOK_HANDLERS = [
'Ticket' => new PluginTicketBalanceTicketHookHandler(),
'ITILCategory' => new PluginTicketBalanceITILCategoryHookHandler()
];
return $HOOK_HANDLERS;
}
/**
* Install hook
*
* @return boolean
*/
function plugin_ticketbalance_install() {
global $DB;
PluginTicketBalanceLogger::addWarning(__FUNCTION__ . ' - entered...');
$rrAssignmentsEntity = new PluginTicketBalanceRRAssignmentsEntity();
/**
* create setting table
*/
$rrAssignmentsEntity->init();
return true;
}
/**
* Uninstall hook
*
* @return boolean
*/
function plugin_ticketbalance_uninstall() {
global $DB;
/**
* @todo removing tables, generated files, ...
*/
PluginTicketBalanceLogger::addWarning(__FUNCTION__ . ' - entered...');
$rrAssignmentsEntity = new PluginTicketBalanceRRAssignmentsEntity();
/**
* drop settings
*/
$rrAssignmentsEntity->cleanUp();
return true;
}
/**
* hook handlers
*/
/**
* pre item add
*/
function plugin_ticketbalance_hook_pre_item_add_handler(CommonDBTM $item) {
PluginTicketBalanceLogger::addWarning(__FUNCTION__ . " - entered with item: " . print_r($item, true));
return $item;
}
/**
* item added
*/
function plugin_ticketbalance_hook_item_add_handler(CommonDBTM $item) {
PluginTicketBalanceLogger::addWarning(__FUNCTION__ . " - entered with item: " . print_r($item, true));
$HOOK_HANDLERS = plugin_ticketbalance_getHookHandlers();
if (array_key_exists($item->getType(), $HOOK_HANDLERS)) {
$handler = $HOOK_HANDLERS[$item->getType()];
$handler->itemAdded($item);
}
return $item;
}
/**
* item updated
*/
function plugin_ticketbalance_hook_item_update_handler(CommonDBTM $item) {
PluginTicketBalanceLogger::addWarning(__FUNCTION__ . " - entered with item: " . print_r($item, true));
PluginTicketBalanceLogger::addWarning(__FUNCTION__ . " - Hook Hanlder: ITEM UPDATE: " . $item->getType());
Session::addMessageAfterRedirect(sprintf(__('%1$s: %2$s'), __('Hook Hanlder: ITEM UPDATE'), $item->getType()));
return $item;
}
/**
* pre item delete
*/
function plugin_ticketbalance_hook_pre_item_delete_handler(CommonDBTM $item) {
PluginTicketBalanceLogger::addWarning(__FUNCTION__ . " - entered with item: " . print_r($item, true));
return $item;
}
/**
* item deleted
*/
function plugin_ticketbalance_hook_item_delete_handler(CommonDBTM $item) {
PluginTicketBalanceLogger::addWarning(__FUNCTION__ . " - entered with item: " . print_r($item, true));
$HOOK_HANDLERS = plugin_ticketbalance_getHookHandlers();
if (array_key_exists($item->getType(), $HOOK_HANDLERS)) {
$handler = $HOOK_HANDLERS[$item->getType()];
$handler->itemDeleted($item);
}
return $item;
}
/**
* item purged
*/
function plugin_ticketbalance_hook_item_purge_handler(CommonDBTM $item) {
PluginTicketBalanceLogger::addWarning(__FUNCTION__ . " - entered with item: " . print_r($item, true));
$HOOK_HANDLERS = plugin_ticketbalance_getHookHandlers();
if (array_key_exists($item->getType(), $HOOK_HANDLERS)) {
$handler = $HOOK_HANDLERS[$item->getType()];
$handler->itemPurged($item);
}
return $item;
}