diff --git a/hook.php b/hook.php
index 8b2d2f5..54c6e26 100644
--- a/hook.php
+++ b/hook.php
@@ -87,8 +87,8 @@ function plugin_example_giveItem($type,$ID,$data,$num) {
switch ($table.'.'.$field) {
case "glpi_plugin_example_examples.name" :
$out = "";
- $out .= $data["ITEM_$num"];
- if ($_SESSION["glpiis_ids_visible"] || empty($data["ITEM_$num"])) {
+ $out .= $data[$num][0]['name'];
+ if ($_SESSION["glpiis_ids_visible"] || empty($data[$num][0]['name'])) {
$out .= " (".$data["id"].")";
}
$out .= "";
diff --git a/inc/config.class.php b/inc/config.class.php
index 9bb0950..59e731c 100644
--- a/inc/config.class.php
+++ b/inc/config.class.php
@@ -49,7 +49,7 @@ class PluginExampleConfig extends CommonDBTM {
function showFormExample() {
global $CFG_GLPI;
- if (!Session::haveRight("config", "w")) {
+ if (!Session::haveRight("config", UPDATE)) {
return false;
}
diff --git a/inc/example.class.php b/inc/example.class.php
index 62d281c..87871bc 100644
--- a/inc/example.class.php
+++ b/inc/example.class.php
@@ -34,7 +34,8 @@
// Class of the defined type
class PluginExampleExample extends CommonDBTM {
-
+
+ static $tags = '[EXAMPLE_ID]';
// Should return the localized name of the type
static function getTypeName($nb = 0) {
@@ -68,6 +69,7 @@ class PluginExampleExample extends CommonDBTM {
return __('Example plugin');
}
+
/**
* @see CommonGLPI::getAdditionalMenuLinks()
**/
@@ -82,7 +84,33 @@ class PluginExampleExample extends CommonDBTM {
return $links;
}
+ function defineTabs($options = array()) {
+ $ong = array();
+ $this->addDefaultFormTab($ong);
+ $this->addStandardTab('Link', $ong, $options);
+
+ return $ong;
+ }
+
+ function showForm($ID, $options = array()) {
+ global $CFG_GLPI;
+
+ $this->initForm($ID, $options);
+ $this->showFormHeader($options);
+
+ echo "
";
+
+ echo "" . __('ID') . " | ";
+ echo "";
+ echo $ID;
+ echo " | ";
+
+ $this->showFormButtons($options);
+
+ return true;
+ }
+
function getSearchOptions() {
$tab = array();
@@ -357,8 +385,6 @@ class PluginExampleExample extends CommonDBTM {
**/
function getSpecificMassiveActions($checkitem=NULL) {
- Toolbox::logDebug();
-
$actions = parent::getSpecificMassiveActions($checkitem);
$actions['Document_Item'.MassiveAction::CLASS_ACTION_SEPARATOR.'add'] =
@@ -445,6 +471,17 @@ class PluginExampleExample extends CommonDBTM {
}
parent::processMassiveActionsForOneItemtype($ma, $item, $ids);
}
+
+ static function generateLinkContents($link, CommonDBTM $item) {
+
+ if (strstr($link,"[EXAMPLE_ID]")) {
+ $link = str_replace("[EXAMPLE_ID]", $item->getID(),$link);
+ return array($link);
+ }
+
+
+ return parent::generateLinkContents($link, $item);
+ }
}
?>
\ No newline at end of file
diff --git a/setup.php b/setup.php
index 678b36d..d552a5e 100755
--- a/setup.php
+++ b/setup.php
@@ -51,15 +51,20 @@ function plugin_init_example() {
'Preference', 'Profile', 'Supplier');
Plugin::registerClass('PluginExampleExample',
array('notificationtemplates_types' => true,
- 'addtabon' => $types));
+ 'addtabon' => $types,
+ 'link_types' => true));
Plugin::registerClass('PluginExampleRuleTestCollection',
array('rulecollections_types' => true));
Plugin::registerClass('PluginExampleDeviceCamera',
array('device_types' => true));
-
+
+ if (class_exists('PluginExampleExample')) {
+ Link::registerTag(PluginExampleExample::$tags);
+ }
// Display a menu entry ?
+ $_SESSION["glpi_plugin_example_profile"]['example'] = 'w';
if (isset($_SESSION["glpi_plugin_example_profile"])) { // Right set in change_profile hook
$PLUGIN_HOOKS['menu_toadd']['example'] = array('plugins' => 'PluginExampleExample',
'tools' => 'PluginExampleExample');
@@ -79,7 +84,7 @@ function plugin_init_example() {
}
// Config page
- if (Session::haveRight('config','w')) {
+ if (Session::haveRight('config',UPDATE)) {
$PLUGIN_HOOKS['config_page']['example'] = 'config.php';
}