getSearchOptionsToAdd() 정적인 공개 메소드

static public getSearchOptionsToAdd ( array &$tab, array $joinparams, $itemtype )
$tab array array the array to fill
$joinparams array array
$itemtype
예제 #1
0
 /**
  * @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;
 }