diff --git a/report.php b/report.php
new file mode 100644
index 0000000..b820cdf
--- /dev/null
+++ b/report.php
@@ -0,0 +1,50 @@
+
+
diff --git a/setup.php b/setup.php
index 5586df2..6312707 100755
--- a/setup.php
+++ b/setup.php
@@ -50,6 +50,14 @@ function plugin_init_example() {
// Config page
$PLUGIN_HOOKS['config_page']['example'] = 'config.php';
+ // Init session
+ //$PLUGIN_HOOKS['init_session']['example'] = 'plugin_init_session_example';
+ // Change profile
+ //$PLUGIN_HOOKS['change_profile']['example'] = 'plugin_change_profile_example';
+ // Change entity
+ //$PLUGIN_HOOKS['change_entity']['example'] = 'plugin_change_entity_example';
+
+
// Onglets management
$PLUGIN_HOOKS['headings']['example'] = 'plugin_get_headings_example';
$PLUGIN_HOOKS['headings_action']['example'] = 'plugin_headings_actions_example';
@@ -57,11 +65,22 @@ function plugin_init_example() {
$PLUGIN_HOOKS['central_action']['example'] = 'plugin_central_action_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_add']['example'] = 'plugin_pre_item_add_example';
$PLUGIN_HOOKS['item_add']['example'] = 'plugin_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_purge']['example'] = 'plugin_pre_item_purge_example';
$PLUGIN_HOOKS['item_purge']['example'] = 'plugin_item_purge_example';
+
+ $PLUGIN_HOOKS['pre_item_restore']['example'] = 'plugin_pre_item_restore_example';
$PLUGIN_HOOKS['item_restore']['example'] = 'plugin_item_restore_example';
+
+ $PLUGIN_HOOKS['item_transfer']['example'] = 'plugin_item_transfer_example';
// Cron action
$PLUGIN_HOOKS['cron']['example'] = DAY_TIMESTAMP;
@@ -76,6 +95,13 @@ function plugin_init_example() {
$PLUGIN_HOOKS['add_javascript']['example']="example.js";
$PLUGIN_HOOKS['add_css']['example']="example.css";
+ // Retrieve others datas from LDAP
+ //$PLUGIN_HOOKS['retrieve_more_data_from_ldap']['example']="plugin_retrieve_more_data_from_ldap_example";
+
+ // Reports
+ $PLUGIN_HOOKS['reports']['example'] = array('report.php'=>'New Report', 'report.php?other'=>'New Report 2',);
+
+
// Params : plugin name - string type - ID - class - table - form page
pluginNewType('example',"PLUGIN_EXAMPLE_TYPE",1001,"pluginExample","glpi_plugin_example","example.form.php");
@@ -320,6 +346,20 @@ function plugin_example_MassiveActionsFieldsDisplay($type,$table,$field,$linkfie
//////////////////////////////
+// Hook done on before update item case
+function plugin_pre_item_update_example($input){
+ if (isset($input["_item_type_"]))
+ switch ($input["_item_type_"]){
+ case COMPUTER_TYPE :
+ // Manipulate data if needed
+ if (!empty($_SESSION["MESSAGE_AFTER_REDIRECT"])) $_SESSION["MESSAGE_AFTER_REDIRECT"].="
";
+ $_SESSION["MESSAGE_AFTER_REDIRECT"].="Pre Update Computer Hook";
+ break;
+ }
+ return $input;
+}
+
+
// Hook done on update item case
function plugin_item_update_example($parm){
@@ -334,6 +374,19 @@ function plugin_item_update_example($parm){
return false;
}
+// Hook done on before add item case
+function plugin_pre_item_add_example($input){
+ if (isset($input["_item_type_"]))
+ switch ($input["_item_type_"]){
+ case COMPUTER_TYPE :
+ // Manipulate data if needed
+ if (!empty($_SESSION["MESSAGE_AFTER_REDIRECT"])) $_SESSION["MESSAGE_AFTER_REDIRECT"].="
";
+ $_SESSION["MESSAGE_AFTER_REDIRECT"].="Pre Add Computer Hook";
+ break;
+ }
+ return $input;
+}
+
// Hook done on add item case
function plugin_item_add_example($parm){
@@ -348,6 +401,18 @@ function plugin_item_add_example($parm){
return false;
}
+// Hook done on before delete item case
+function plugin_pre_item_delete_example($input){
+ if (isset($input["_item_type_"]))
+ switch ($input["_item_type_"]){
+ case COMPUTER_TYPE :
+ // Manipulate data if needed
+ if (!empty($_SESSION["MESSAGE_AFTER_REDIRECT"])) $_SESSION["MESSAGE_AFTER_REDIRECT"].="
";
+ $_SESSION["MESSAGE_AFTER_REDIRECT"].="Pre Delete Computer Hook";
+ break;
+ }
+ return $input;
+}
// Hook done on delete item case
function plugin_item_delete_example($parm){
@@ -362,6 +427,18 @@ function plugin_item_delete_example($parm){
return false;
}
+// Hook done on before purge item case
+function plugin_pre_item_purge_example($input){
+ if (isset($input["_item_type_"]))
+ switch ($input["_item_type_"]){
+ case COMPUTER_TYPE :
+ // Manipulate data if needed
+ if (!empty($_SESSION["MESSAGE_AFTER_REDIRECT"])) $_SESSION["MESSAGE_AFTER_REDIRECT"].="
";
+ $_SESSION["MESSAGE_AFTER_REDIRECT"].="Pre Purge Computer Hook";
+ break;
+ }
+ return $input;
+}
// Hook done on purge item case
function plugin_item_purge_example($parm){
@@ -376,6 +453,18 @@ function plugin_item_purge_example($parm){
return false;
}
+// Hook done on before restore item case
+function plugin_pre_item_restore_example($input){
+ if (isset($input["_item_type_"]))
+ switch ($input["_item_type_"]){
+ case COMPUTER_TYPE :
+ // Manipulate data if needed
+ if (!empty($_SESSION["MESSAGE_AFTER_REDIRECT"])) $_SESSION["MESSAGE_AFTER_REDIRECT"].="
";
+ $_SESSION["MESSAGE_AFTER_REDIRECT"].="Pre Restore Computer Hook";
+ break;
+ }
+ return $input;
+}
// Hook done on restore item case
function plugin_item_restore_example($parm){
@@ -390,6 +479,14 @@ function plugin_item_restore_example($parm){
return false;
}
+// Hook done on restore item case
+function plugin_item_transfer_example($parm){
+
+ $_SESSION["MESSAGE_AFTER_REDIRECT"].="Transfer Computer Hook ".$parm['type']." ".$parm['ID']." -> ".$parm['newID'];
+
+ return false;
+}
+
// Parm contains begin, end and who
// Create data to be displayed in the planning of $parm["who"] or $parm["who_group"] between $parm["begin"] and $parm["end"]
function plugin_planning_populate_example($parm){