From 89d7d182377cee737988dd12223b0d811ea967bf Mon Sep 17 00:00:00 2001 From: remicollet Date: Sat, 12 Dec 2009 07:17:01 +0000 Subject: [PATCH] Clean git-svn-id: https://forge.glpi-project.org/svn/example/trunk@113 349b9182-4a13-0410-896f-e5e9767dd1b3 --- hook.php | 33 ++++++++++++++++----------------- inc/example.class.php | 23 +++++++++++++++++++---- setup.php | 16 +--------------- 3 files changed, 36 insertions(+), 36 deletions(-) diff --git a/hook.php b/hook.php index 27e12d5..c729776 100644 --- a/hook.php +++ b/hook.php @@ -83,15 +83,14 @@ function plugin_example_getAddSearchOptions($itemtype){ } function plugin_example_giveItem($type,$ID,$data,$num){ - global $CFG_GLPI, $INFOFORM_PAGES; $searchopt=&Search::getOptions($type); $table=$searchopt[$ID]["table"]; $field=$searchopt[$ID]["field"]; switch ($table.'.'.$field){ - case "glpi_plugin_example_example.name" : - $out= ""; + case "glpi_plugin_example_examples.name" : + $out= ""; $out.= $data["ITEM_$num"]; if ($_SESSION["glpiis_ids_visible"]||empty($data["ITEM_$num"])) $out.= " (".$data["id"].")"; $out.= ""; @@ -261,28 +260,28 @@ function plugin_example_MassiveActionsProcess($data){ switch ($data['action']){ case 'plugin_example_DoIt': - if ($data['device_type']==COMPUTER_TYPE){ - $ci =new CommonItem(); + if ($data['itemtype']=='Computer'){ + $comp = new Computer; addMessageAfterRedirect("Right it is the type I want..."); addMessageAfterRedirect("But... I say I will do nothing for :"); foreach ($data['item'] as $key => $val){ if ($val==1) { - if ($ci->getFromDB($data["device_type"],$key)){ - addMessageAfterRedirect("- ".$ci->getField("name")); + if ($comp->getFromDB($key)){ + addMessageAfterRedirect("- ".$comp->getField("name")); } } } } break; case 'do_nothing': - if ($data['device_type']=='PluginExampleExample'){ - $ci =new CommonItem(); + if ($data['itemtype']=='PluginExampleExample'){ + $ex =new PluginExampleExample(); addMessageAfterRedirect("Right it is the type I want..."); addMessageAfterRedirect("But... I say I will do nothing for :"); foreach ($data['item'] as $key => $val){ if ($val==1) { - if ($ci->getFromDB($data["device_type"],$key)){ - addMessageAfterRedirect("- ".$ci->getField("name")); + if ($ex->getFromDB($key)){ + addMessageAfterRedirect("- ".$ex->getField("name")); } } } @@ -292,8 +291,8 @@ function plugin_example_MassiveActionsProcess($data){ } // How to display specific update fields ? function plugin_example_MassiveActionsFieldsDisplay($type,$table,$field,$linkfield){ - global $LINK_ID_TABLE; - if ($table==$LINK_ID_TABLE[$type]){ + + if ($table==getTableForItemType($type)){ // Table fields switch ($table.".".$field){ case 'glpi_plugin_example.serial': @@ -703,8 +702,8 @@ function plugin_example_install(){ global $DB; - if (!TableExists("glpi_plugin_example_example")){ - $query="CREATE TABLE `glpi_plugin_example_example` ( + if (!TableExists("glpi_plugin_example_examples")){ + $query="CREATE TABLE `glpi_plugin_example_examples` ( `id` int(11) NOT NULL auto_increment, `name` varchar(255) collate utf8_unicode_ci default NULL, `serial` varchar(255) collate utf8_unicode_ci NOT NULL, @@ -715,8 +714,8 @@ function plugin_example_install(){ PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; "; - $DB->query($query) or die("error creating glpi_plugin_example_example ". $DB->error()); - $query="INSERT INTO `glpi_plugin_example_example` (`id`, `name`, `serial`, `plugin_example_dropdown_id`, + $DB->query($query) or die("error creating glpi_plugin_example_examples ". $DB->error()); + $query="INSERT INTO `glpi_plugin_example_examples` (`id`, `name`, `serial`, `plugin_example_dropdown_id`, `is_deleted`, `is_template`, `template_name`) VALUES (1, 'example 1', 'serial 1', 1, 0, 0, NULL), (2, 'example 2', 'serial 2', 2, 0, 0, NULL), diff --git a/inc/example.class.php b/inc/example.class.php index 76b8ad2..d933f1f 100644 --- a/inc/example.class.php +++ b/inc/example.class.php @@ -37,7 +37,7 @@ class PluginExampleExample extends CommonDBTM { // From CommonDBTM - public $table = 'glpi_plugin_example_example'; + public $table = 'glpi_plugin_example_examples'; public $type = 'PluginExampleExample'; // Should return the localized name of the type @@ -47,13 +47,28 @@ class PluginExampleExample extends CommonDBTM { return 'Example Type'; } + static function canCreate() { + if (isset($_SESSION["glpi_plugin_example_profile"])) { + return ($_SESSION["glpi_plugin_example_profile"]['example']=='w'); + } + return false; + } + + static function canView() { + if (isset($_SESSION["glpi_plugin_example_profile"])) { + return ($_SESSION["glpi_plugin_example_profile"]['example']=='w' + || $_SESSION["glpi_plugin_example_profile"]['example']=='r'); + } + return false; + } + function getSearchOptions() { global $LANG; $tab = array(); $tab['common']="Header Needed"; - $tab[1]['table']='glpi_plugin_example_example'; + $tab[1]['table']='glpi_plugin_example_examples'; $tab[1]['field']='name'; $tab[1]['linkfield']='name'; $tab[1]['name']=$LANG['plugin_example']["name"]; @@ -63,13 +78,13 @@ class PluginExampleExample extends CommonDBTM { $tab[2]['linkfield']='plugin_example_dropdown_id'; $tab[2]['name']='Dropdown'; - $tab[3]['table']='glpi_plugin_example_example'; + $tab[3]['table']='glpi_plugin_example_examples'; $tab[3]['field']='serial'; $tab[3]['linkfield']='serial'; $tab[3]['name']='Serial'; $tab[3]['usehaving']=true; - $tab[30]['table']='glpi_plugin_example_example'; + $tab[30]['table']='glpi_plugin_example_examples'; $tab[30]['field']='id'; $tab[30]['linkfield']=''; $tab[30]['name']=$LANG["common"][2]; diff --git a/setup.php b/setup.php index d26360d..27b22ed 100755 --- a/setup.php +++ b/setup.php @@ -61,7 +61,7 @@ function plugin_init_example() { 'searchpage' => 'front/dropdown.php')); // Display a menu entry ? - if (plugin_example_haveTypeRight('PluginExampleExample','r')) { // Right set in change_profile hook + if (isset($_SESSION["glpi_plugin_example_profile"])) { // Right set in change_profile hook $PLUGIN_HOOKS['menu_entry']['example'] = 'front/example.php'; $PLUGIN_HOOKS['submenu_entry']['example']['options']['optionname']['title']="Search"; @@ -176,19 +176,5 @@ function plugin_example_check_config($verbose=false){ return false; } -// Define rights for the plugin types -function plugin_example_haveTypeRight($type,$right){ - - if (!isset($_SESSION["glpi_plugin_example_profile"])) { - // No right - return false; - } - switch ($type){ - case 'PluginExampleExample' : - // Evaluate the right from data saved in session by change_profile hook - return ($right=='r' || $_SESSION["glpi_plugin_example_profile"]=='w'); - } -} - ?>