mirror of
https://github.com/pluginsGLPI/example.git
synced 2025-05-04 18:08:42 +02:00
Update plugin for new define of hook using array with itemtype
git-svn-id: https://forge.glpi-project.org/svn/example/trunk@135 349b9182-4a13-0410-896f-e5e9767dd1b3
This commit is contained in:
parent
29d5a94d0a
commit
afc9a0a05b
72
hook.php
72
hook.php
@ -331,8 +331,6 @@ function plugin_example_MassiveActionsFieldsDisplay($options=array()) {
|
||||
// Hook done on before update item case
|
||||
function plugin_pre_item_update_example($item) {
|
||||
|
||||
switch (get_class($item)) {
|
||||
case 'Computer' :
|
||||
/* Manipulate data if needed
|
||||
if (!isset($item->input['comment'])) {
|
||||
$item->input['comment'] = addslashes($item->fields['comment']);
|
||||
@ -341,125 +339,69 @@ function plugin_pre_item_update_example($item) {
|
||||
*/
|
||||
addMessageAfterRedirect("Pre Update Computer Hook",true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Hook done on update item case
|
||||
function plugin_item_update_example($item) {
|
||||
|
||||
switch (get_class($item)){
|
||||
case 'Computer' :
|
||||
addMessageAfterRedirect("Update Computer Hook (".implode(',',$item->updates).")",true);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// Hook done on before add item case
|
||||
function plugin_pre_item_add_example($item) {
|
||||
|
||||
switch (get_class($item)) {
|
||||
case 'Computer' :
|
||||
// Manipulate data if needed
|
||||
if (isset($item->input['comment'])) {
|
||||
//$item->input['comment'] .= addslashes("\nFrom Example plugin");
|
||||
}
|
||||
addMessageAfterRedirect("Pre Add Computer Hook",true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Hook done on add item case
|
||||
function plugin_item_add_example($item) {
|
||||
|
||||
switch (get_class($item)) {
|
||||
case 'Computer' :
|
||||
addMessageAfterRedirect("Add Computer Hook, ID=".$item->getField('id'),true);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// Hook done on before delete item case
|
||||
function plugin_pre_item_delete_example($object) {
|
||||
|
||||
switch (get_class($object)) {
|
||||
case 'Computer' :
|
||||
// Manipulate data if needed
|
||||
addMessageAfterRedirect("Pre Delete Computer Hook",true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Hook done on delete item case
|
||||
function plugin_item_delete_example($object) {
|
||||
|
||||
switch (get_class($object)) {
|
||||
case 'Computer' :
|
||||
addMessageAfterRedirect("Delete Computer Hook",true);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// Hook done on before purge item case
|
||||
function plugin_pre_item_purge_example($object) {
|
||||
|
||||
switch (get_class($object)) {
|
||||
case 'Computer' :
|
||||
// Manipulate data if needed
|
||||
addMessageAfterRedirect("Pre Purge Computer Hook",true);
|
||||
break;
|
||||
|
||||
case 'Phone' :
|
||||
// Manipulate data if needed
|
||||
addMessageAfterRedirect("Pre Purge Phone Hook",true);
|
||||
// Cancel purge
|
||||
// $object->input = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Hook done on purge item case
|
||||
function plugin_item_purge_example($object) {
|
||||
|
||||
switch (get_class($object)) {
|
||||
case 'Computer' :
|
||||
addMessageAfterRedirect("Purge Computer Hook",true);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
// Hook done on before restore item case
|
||||
function plugin_pre_item_restore_example($item) {
|
||||
|
||||
switch (get_class($item)) {
|
||||
case 'Computer' :
|
||||
// Manipulate data if needed
|
||||
addMessageAfterRedirect("Pre Restore Computer Hook");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Hook done on before restore item case
|
||||
function plugin_pre_item_restore_example2($item) {
|
||||
|
||||
// Manipulate data if needed
|
||||
addMessageAfterRedirect("Pre Restore Phone Hook");
|
||||
}
|
||||
|
||||
// Hook done on restore item case
|
||||
function plugin_item_restore_example($item) {
|
||||
|
||||
switch (get_class($item)) {
|
||||
case 'Computer' :
|
||||
addMessageAfterRedirect("Restore Computer Hook");
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
@ -126,6 +126,20 @@ class PluginExampleExample extends CommonDBTM {
|
||||
return 1;
|
||||
}
|
||||
|
||||
// Hook done on before add item case
|
||||
static function pre_item_add_example($item) {
|
||||
addMessageAfterRedirect("Pre Add Computer Hook",true);
|
||||
}
|
||||
|
||||
|
||||
// Hook done on add item case
|
||||
static function item_add_example($item) {
|
||||
|
||||
addMessageAfterRedirect("Add Computer Hook, ID=".$item->getField('id'),true);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
28
setup.php
28
setup.php
@ -81,20 +81,28 @@ function plugin_init_example() {
|
||||
$PLUGIN_HOOKS['headings_action']['example'] = 'plugin_headings_actions_example';
|
||||
|
||||
// Item action event // See define.php for defined ITEM_TYPE
|
||||
$PLUGIN_HOOKS['pre_item_update']['example'] = 'plugin_pre_item_update_example';
|
||||
$PLUGIN_HOOKS['item_update']['example'] = 'plugin_item_update_example';
|
||||
$PLUGIN_HOOKS['pre_item_update']['example'] = array('Computer'=>'plugin_pre_item_update_example');
|
||||
$PLUGIN_HOOKS['item_update']['example'] = array('Computer'=>'plugin_item_update_example');
|
||||
|
||||
$PLUGIN_HOOKS['pre_item_add']['example'] = 'plugin_pre_item_add_example';
|
||||
$PLUGIN_HOOKS['item_add']['example'] = 'plugin_item_add_example';
|
||||
// Example using a method in class
|
||||
$PLUGIN_HOOKS['pre_item_add']['example'] = array('Computer' => array('PluginExampleExample',
|
||||
'pre_item_add_example'));
|
||||
$PLUGIN_HOOKS['item_add']['example'] = array('Computer' => array('PluginExampleExample',
|
||||
'item_add_example'));
|
||||
|
||||
$PLUGIN_HOOKS['pre_item_delete']['example'] = 'plugin_pre_item_delete_example';
|
||||
$PLUGIN_HOOKS['item_delete']['example'] = 'plugin_item_delete_example';
|
||||
$PLUGIN_HOOKS['pre_item_delete']['example'] = array('Computer'=>'plugin_pre_item_delete_example');
|
||||
$PLUGIN_HOOKS['item_delete']['example'] = array('Computer'=>'plugin_item_delete_example');
|
||||
|
||||
$PLUGIN_HOOKS['pre_item_purge']['example'] = 'plugin_pre_item_purge_example';
|
||||
$PLUGIN_HOOKS['item_purge']['example'] = 'plugin_item_purge_example';
|
||||
// Example using the same function
|
||||
$PLUGIN_HOOKS['pre_item_purge']['example'] = array('Computer'=>'plugin_pre_item_purge_example',
|
||||
'Phone'=>'plugin_pre_item_purge_example');
|
||||
$PLUGIN_HOOKS['item_purge']['example'] = array('Computer'=>'plugin_item_purge_example',
|
||||
'Phone'=>'plugin_item_purge_example');
|
||||
|
||||
$PLUGIN_HOOKS['pre_item_restore']['example'] = 'plugin_pre_item_restore_example';
|
||||
$PLUGIN_HOOKS['item_restore']['example'] = 'plugin_item_restore_example';
|
||||
// Example with 2 different functions
|
||||
$PLUGIN_HOOKS['pre_item_restore']['example'] = array('Computer'=>'plugin_pre_item_restore_example',
|
||||
'Phone'=>'plugin_pre_item_restore_example2');
|
||||
$PLUGIN_HOOKS['item_restore']['example'] = array('Computer'=>'plugin_item_restore_example');
|
||||
|
||||
$PLUGIN_HOOKS['item_transfer']['example'] = 'plugin_item_transfer_example';
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user