function plugin_rackview_getAddSearchOptions($itemtype) { global $LANG; $opt = array(); if (in_array($itemtype, rackview_get_supported_types())) { $itemTypeId = rackview_get_itemtypeid(); $opt[$itemTypeId] = array(); $opt[$itemTypeId]['table'] = 'glpi_plugin_rackview_objectmounts'; $opt[$itemTypeId]['field'] = 'mounts'; $opt[$itemTypeId]['linkfield'] = 'id'; $opt[$itemTypeId]['name'] = $LANG['plugin_rackview']['label_mounted']; $opt[$itemTypeId]['massiveaction'] = false; $opt[$itemTypeId]['joinparams'] = array('condition' => "AND NEWTABLE.type = '" . $itemtype . "'"); } return $opt; }
/** * Initialize plugin */ function plugin_init_rackview() { global $PLUGIN_HOOKS; Plugin::registerClass("PluginRackviewRack", array("addtabon" => rackview_get_supported_types())); $PLUGIN_HOOKS['change_profile']['rackview'] = 'plugin_change_profile_rackview'; $PLUGIN_HOOKS['add_css']['rackview'] = array("css/cssTableGenerator.css", "css/rackview.css"); $PLUGIN_HOOKS['item_purge']['rackview'] = array(); foreach (rackview_get_supported_types() as $type) { $PLUGIN_HOOKS['item_purge']['rackview'][$type] = 'plugin_item_purge_rackview'; } $PLUGIN_HOOKS['add_javascript']['rackview'] = 'js/rackview.js'; if (Session::getLoginUserID()) { if (plugin_rackview_haveRight('rack', 'r')) { $PLUGIN_HOOKS['menu_entry']['rackview'] = 'index.php'; $PLUGIN_HOOKS['submenu_entry']['rackview']['search'] = 'index.php'; $PLUGIN_HOOKS['submenu_entry']['rackview']['summary'] = 'front/rackSummary.php'; } if (plugin_rackview_haveRight('rack', 'w')) { $PLUGIN_HOOKS['submenu_entry']['rackview']['add'] = 'front/rack.form.php?new=1'; } } $PLUGIN_HOOKS['use_massive_action']['rackview'] = 1; $PLUGIN_HOOKS['csrf_compliant']['rackview'] = true; }
function getTabNameForItem($item) { global $LANG; if (in_array($item->getType(), rackview_get_supported_types())) { if (!$item->getId()) { // Don't react on new objects return false; } if (!plugin_rackview_haveRight('object', 'r')) { // Security check return false; } return array(1 => $LANG['plugin_rackview']['title']); } return false; }
// Check sanity $errors = array(); // Was an existing rack specified? $rack_id = -1; if (!is_numeric($_POST['plugin_rackview_racks_id'])) { $errors[] = $LANG['plugin_rackview']['error_invalidrackid']; } else { $rack_id = intval($_POST['plugin_rackview_racks_id']); $table = getTableForItemType('PluginRackviewRack'); $object = $DB->request($table, array("id" => $_POST['plugin_rackview_racks_id'])); if ($object->numrows() == 0) { $errors[] = $LANG['plugin_rackview']['error_invalidrackid']; } } // Was a valid type specified $valid_types = rackview_get_supported_types(); if (!in_array($_POST['object_type'], $valid_types)) { $errors[] = $LANG['plugin_rackview']['error_invalidtype']; } // Is the object id numeric? if (!is_numeric($_POST['object_id'])) { $errors[] = $LANG['plugin_rackview']['error_invalidid']; } // Try to get the object $table = getTableForItemType($_POST['object_type']); $object = $DB->request($table, array("id" => $_POST['object_id'])); if ($object->numrows() == 0) { $errors[] = $LANG['plugin_rackview']['error_invalidid']; } // Is the starting Unit valid? if (!is_numeric($_POST['startu']) || $_POST['startu'] < 0 || $_POST['startu'] > 99) {