-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhook.php
130 lines (116 loc) · 3.64 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_SMARTASSIGN_DIR')) {
define('PLUGIN_SMARTASSIGN_DIR', __DIR__);
}
require_once PLUGIN_SMARTASSIGN_DIR . '/inc/TicketHookHandler.class.php';
require_once PLUGIN_SMARTASSIGN_DIR . '/inc/ITILCategoryHookHandler.class.php';
require_once PLUGIN_SMARTASSIGN_DIR . '/inc/RRAssignmentsEntity.class.php';
/**
* Hook Item Handlers by Item Type
*/
function plugin_smartassign_getHookHandlers() {
$HOOK_HANDLERS = [
'Ticket' => new PluginSmartAssignTicketHookHandler(),
'ITILCategory' => new PluginSmartAssignITILCategoryHookHandler()
];
return $HOOK_HANDLERS;
}
/**
* Install hook
*
* @return boolean
*/
function plugin_smartassign_install() {
global $DB;
PluginSmartAssignLogger::addWarning(__FUNCTION__ . ' - entered...');
$rrAssignmentsEntity = new PluginSmartAssignRRAssignmentsEntity();
/**
* create setting table
*/
$rrAssignmentsEntity->init();
return true;
}
/**
* Uninstall hook
*
* @return boolean
*/
function plugin_smartassign_uninstall() {
global $DB;
/**
* @todo removing tables, generated files, ...
*/
PluginSmartAssignLogger::addWarning(__FUNCTION__ . ' - entered...');
$rrAssignmentsEntity = new PluginSmartAssignRRAssignmentsEntity();
/**
* drop settings
*/
$rrAssignmentsEntity->cleanUp();
return true;
}
/**
* hook handlers
*/
/**
* pre item add
*/
function plugin_smartassign_hook_pre_item_add_handler(CommonDBTM $item) {
PluginSmartAssignLogger::addWarning(__FUNCTION__ . " - entered with item: " . print_r($item, true));
return $item;
}
/**
* item added
*/
function plugin_smartassign_hook_item_add_handler(CommonDBTM $item) {
PluginSmartAssignLogger::addWarning(__FUNCTION__ . " - entered with item: " . print_r($item, true));
$HOOK_HANDLERS = plugin_smartassign_getHookHandlers();
if (array_key_exists($item->getType(), $HOOK_HANDLERS)) {
$handler = $HOOK_HANDLERS[$item->getType()];
$handler->itemAdded($item);
}
return $item;
}
/**
* item updated
*/
function plugin_smartassign_hook_item_update_handler(CommonDBTM $item) {
PluginSmartAssignLogger::addWarning(__FUNCTION__ . " - entered with item: " . print_r($item, true));
PluginSmartAssignLogger::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_smartassign_hook_pre_item_delete_handler(CommonDBTM $item) {
PluginSmartAssignLogger::addWarning(__FUNCTION__ . " - entered with item: " . print_r($item, true));
return $item;
}
/**
* item deleted
*/
function plugin_smartassign_hook_item_delete_handler(CommonDBTM $item) {
PluginSmartAssignLogger::addWarning(__FUNCTION__ . " - entered with item: " . print_r($item, true));
$HOOK_HANDLERS = plugin_smartassign_getHookHandlers();
if (array_key_exists($item->getType(), $HOOK_HANDLERS)) {
$handler = $HOOK_HANDLERS[$item->getType()];
$handler->itemDeleted($item);
}
return $item;
}
/**
* item purged
*/
function plugin_smartassign_hook_item_purge_handler(CommonDBTM $item) {
PluginSmartAssignLogger::addWarning(__FUNCTION__ . " - entered with item: " . print_r($item, true));
$HOOK_HANDLERS = plugin_smartassign_getHookHandlers();
if (array_key_exists($item->getType(), $HOOK_HANDLERS)) {
$handler = $HOOK_HANDLERS[$item->getType()];
$handler->itemPurged($item);
}
return $item;
}