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
114
hook.php
114
hook.php
@ -331,135 +331,77 @@ function plugin_example_MassiveActionsFieldsDisplay($options=array()) {
|
|||||||
// Hook done on before update item case
|
// Hook done on before update item case
|
||||||
function plugin_pre_item_update_example($item) {
|
function plugin_pre_item_update_example($item) {
|
||||||
|
|
||||||
switch (get_class($item)) {
|
/* Manipulate data if needed
|
||||||
case 'Computer' :
|
if (!isset($item->input['comment'])) {
|
||||||
/* Manipulate data if needed
|
$item->input['comment'] = addslashes($item->fields['comment']);
|
||||||
if (!isset($item->input['comment'])) {
|
|
||||||
$item->input['comment'] = addslashes($item->fields['comment']);
|
|
||||||
}
|
|
||||||
$item->input['comment'] .= addslashes("\nUpdate: ".date('r'));
|
|
||||||
*/
|
|
||||||
addMessageAfterRedirect("Pre Update Computer Hook",true);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
$item->input['comment'] .= addslashes("\nUpdate: ".date('r'));
|
||||||
|
*/
|
||||||
|
addMessageAfterRedirect("Pre Update Computer Hook",true);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Hook done on update item case
|
// Hook done on update item case
|
||||||
function plugin_item_update_example($item) {
|
function plugin_item_update_example($item) {
|
||||||
|
|
||||||
switch (get_class($item)){
|
addMessageAfterRedirect("Update Computer Hook (".implode(',',$item->updates).")",true);
|
||||||
case 'Computer' :
|
return true;
|
||||||
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
|
// Hook done on before delete item case
|
||||||
function plugin_pre_item_delete_example($object) {
|
function plugin_pre_item_delete_example($object) {
|
||||||
|
|
||||||
switch (get_class($object)) {
|
// Manipulate data if needed
|
||||||
case 'Computer' :
|
addMessageAfterRedirect("Pre Delete Computer Hook",true);
|
||||||
// Manipulate data if needed
|
|
||||||
addMessageAfterRedirect("Pre Delete Computer Hook",true);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Hook done on delete item case
|
// Hook done on delete item case
|
||||||
function plugin_item_delete_example($object) {
|
function plugin_item_delete_example($object) {
|
||||||
|
|
||||||
switch (get_class($object)) {
|
addMessageAfterRedirect("Delete Computer Hook",true);
|
||||||
case 'Computer' :
|
return true;
|
||||||
addMessageAfterRedirect("Delete Computer Hook",true);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Hook done on before purge item case
|
// Hook done on before purge item case
|
||||||
function plugin_pre_item_purge_example($object) {
|
function plugin_pre_item_purge_example($object) {
|
||||||
|
|
||||||
switch (get_class($object)) {
|
// Manipulate data if needed
|
||||||
case 'Computer' :
|
addMessageAfterRedirect("Pre Purge Computer Hook",true);
|
||||||
// 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
|
// Hook done on purge item case
|
||||||
function plugin_item_purge_example($object) {
|
function plugin_item_purge_example($object) {
|
||||||
|
|
||||||
switch (get_class($object)) {
|
addMessageAfterRedirect("Purge Computer Hook",true);
|
||||||
case 'Computer' :
|
return true;
|
||||||
addMessageAfterRedirect("Purge Computer Hook",true);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Hook done on before restore item case
|
// Hook done on before restore item case
|
||||||
function plugin_pre_item_restore_example($item) {
|
function plugin_pre_item_restore_example($item) {
|
||||||
|
|
||||||
switch (get_class($item)) {
|
// Manipulate data if needed
|
||||||
case 'Computer' :
|
addMessageAfterRedirect("Pre Restore Computer Hook");
|
||||||
// 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
|
// Hook done on restore item case
|
||||||
function plugin_item_restore_example($item) {
|
function plugin_item_restore_example($item) {
|
||||||
|
|
||||||
switch (get_class($item)) {
|
addMessageAfterRedirect("Restore Computer Hook");
|
||||||
case 'Computer' :
|
return true;
|
||||||
addMessageAfterRedirect("Restore Computer Hook");
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -126,6 +126,20 @@ class PluginExampleExample extends CommonDBTM {
|
|||||||
return 1;
|
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';
|
$PLUGIN_HOOKS['headings_action']['example'] = 'plugin_headings_actions_example';
|
||||||
|
|
||||||
// Item action event // See define.php for defined ITEM_TYPE
|
// Item action event // See define.php for defined ITEM_TYPE
|
||||||
$PLUGIN_HOOKS['pre_item_update']['example'] = 'plugin_pre_item_update_example';
|
$PLUGIN_HOOKS['pre_item_update']['example'] = array('Computer'=>'plugin_pre_item_update_example');
|
||||||
$PLUGIN_HOOKS['item_update']['example'] = 'plugin_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';
|
// Example using a method in class
|
||||||
$PLUGIN_HOOKS['item_add']['example'] = 'plugin_item_add_example';
|
$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['pre_item_delete']['example'] = array('Computer'=>'plugin_pre_item_delete_example');
|
||||||
$PLUGIN_HOOKS['item_delete']['example'] = 'plugin_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';
|
// Example using the same function
|
||||||
$PLUGIN_HOOKS['item_purge']['example'] = 'plugin_item_purge_example';
|
$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';
|
// Example with 2 different functions
|
||||||
$PLUGIN_HOOKS['item_restore']['example'] = 'plugin_item_restore_example';
|
$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';
|
$PLUGIN_HOOKS['item_transfer']['example'] = 'plugin_item_transfer_example';
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user