Пример #1
0
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;
}
Пример #2
0
/**
 * 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;
}
Пример #3
0
 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;
 }
Пример #4
0
// 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) {