static public getSearchOptionsToAdd ( array &$tab, array $joinparams, $itemtype ) | ||
$tab | array | array the array to fill |
$joinparams | array | array |
$itemtype |
/** * @param $itemtype **/ static function getSearchOptionsToAdd($itemtype) { $tab = array(); $tab['network'] = __('Networking'); $joinparams = array('jointype' => 'itemtype_item'); if ($itemtype == 'Computer') { $joinparams['beforejoin'] = array('table' => 'glpi_items_devicenetworkcards', 'joinparams' => array('jointype' => 'itemtype_item', 'specific_itemtype' => 'Computer', 'nolink' => true)); } $tab[21]['table'] = 'glpi_networkports'; $tab[21]['field'] = 'mac'; $tab[21]['name'] = __('MAC address'); $tab[21]['datatype'] = 'mac'; $tab[21]['forcegroupby'] = true; $tab[21]['massiveaction'] = false; $tab[21]['joinparams'] = $joinparams; $tab[87]['table'] = 'glpi_networkports'; $tab[87]['field'] = 'instantiation_type'; $tab[87]['name'] = __('Network port type'); $tab[87]['datatype'] = 'itemtypename'; $tab[87]['itemtype_list'] = 'networkport_instantiations'; $tab[87]['massiveaction'] = false; $tab[87]['joinparams'] = $joinparams; $networkNameJoin = array('jointype' => 'itemtype_item', 'specific_itemtype' => 'NetworkPort', 'beforejoin' => array('table' => 'glpi_networkports', 'joinparams' => $joinparams)); NetworkName::getSearchOptionsToAdd($tab, $networkNameJoin, $itemtype); $instantjoin = array('jointype' => 'child', 'beforejoin' => array('table' => 'glpi_networkports', 'joinparams' => $joinparams)); foreach (self::getNetworkPortInstantiations() as $instantiationType) { $instantiationType::getSearchOptionsToAddForInstantiation($tab, $instantjoin, $itemtype); } $netportjoin = array(array('table' => 'glpi_networkports', 'joinparams' => array('jointype' => 'itemtype_item')), array('table' => 'glpi_networkports_vlans', 'joinparams' => array('jointype' => 'child'))); $tab[88]['table'] = 'glpi_vlans'; $tab[88]['field'] = 'name'; $tab[88]['name'] = __('VLAN'); $tab[88]['datatype'] = 'dropdown'; $tab[88]['forcegroupby'] = true; $tab[88]['massiveaction'] = false; $tab[88]['joinparams'] = array('beforejoin' => $netportjoin); return $tab; }