コード例 #1
0
 /**
  * @test
  */
 public function NetworkPortAggregation()
 {
     global $DB;
     $DB->connect();
     $networkPort = new NetworkPort();
     $networkPortAggregate = new NetworkPortAggregate();
     $a_networkports = $networkPort->find("`logical_number`='5005'");
     $this->assertEquals(1, count($a_networkports), 'Number of networkport 5005 may be 1');
     $a_networkport = current($a_networkports);
     $a_aggregate = current($networkPortAggregate->find("`networkports_id`='" . $a_networkport['id'] . "'", '', 1));
     $a_ports = importArrayFromDB($a_aggregate['networkports_id_list']);
     $this->assertEquals(array('2', '4'), $a_ports, 'aggregate ports');
 }
コード例 #2
0
ファイル: networkport.class.php プロジェクト: gaforeror/glpi
 function getTabNameForItem(CommonGLPI $item, $withtemplate = 0)
 {
     global $CFG_GLPI;
     // Can exists on template
     if (Session::haveRight('networking', 'r')) {
         if (in_array($item->getType(), $CFG_GLPI["networkport_types"])) {
             if ($_SESSION['glpishow_count_on_tabs']) {
                 return self::createTabEntry(self::getTypeName(2), self::countForItem($item));
             }
             return self::getTypeName(2);
         }
     }
     if ($item->getType() == 'NetworkPort') {
         $nbAlias = countElementsInTable('glpi_networkportaliases', "`networkports_id_alias` = '" . $item->getField('id') . "'");
         if ($nbAlias > 0) {
             $aliases = self::createTabEntry(NetworkPortAlias::getTypeName(2), $nbAlias);
         } else {
             $aliases = '';
         }
         $nbAggregates = countElementsInTable('glpi_networkportaggregates', "`networkports_id_list`\n                                                   LIKE '%\"" . $item->getField('id') . "\"%'");
         if ($nbAggregates > 0) {
             $aggregates = self::createTabEntry(NetworkPortAggregate::getTypeName(2), $nbAggregates);
         } else {
             $aggregates = '';
         }
         if (!empty($aggregates) && !empty($aliases)) {
             return $aliases . '/' . $aggregates;
         }
         return $aliases . $aggregates;
     }
     return '';
 }
 function importPortAggregate($a_ports, $networkports_id, $networkequipments_id)
 {
     $networkPort = new NetworkPort();
     $networkPortAggregate = new NetworkPortAggregate();
     $a_aggregates = $networkPortAggregate->find("`networkports_id`='" . $networkports_id . "'", "", 1);
     $input = array();
     if (count($a_aggregates) == 1) {
         $input = current($a_aggregates);
     } else {
         $input['networkports_id'] = $networkports_id;
         $input['networkports_id_list'] = exportArrayToDB(array());
         $input['id'] = $networkPortAggregate->add($input);
     }
     $a_ports_db_tmp = array();
     foreach ($a_ports as $logical_number) {
         $a_networkports_DB = current($networkPort->find("`itemtype`='NetworkEquipment'\n                       AND `items_id`='" . $networkequipments_id . "'\n                       AND `instantiation_type`='NetworkPortEthernet'\n                       AND `logical_number` = '" . $logical_number . "'", '', 1));
         if (!isset($a_networkports_DB['id'])) {
             // Add port
             $a_port['instantiation_type'] = 'NetworkPortEthernet';
             $a_port['items_id'] = $networkequipments_id;
             $a_port['itemtype'] = 'NetworkEquipment';
             $a_port['logical_number'] = $logical_number;
             $networkports_id = $networkPort->add($a_port);
         } else {
             $networkports_id = $a_networkports_DB['id'];
         }
         $a_ports_db_tmp[] = $networkports_id;
     }
     $input['networkports_id_list'] = $a_ports_db_tmp;
     $networkPortAggregate->update($input);
 }