function showForm(CommonDBTM $item, $options = array())
 {
     $ID = $item->getField('id');
     if ($item->isNewID($ID)) {
         return false;
     }
     if (!$item->can($item->fields['id'], READ)) {
         return false;
     }
     $rand = mt_rand();
     $a_data = getAllDatasFromTable('glpi_plugin_fusioninventory_ipranges_configsecurities', "`plugin_fusioninventory_ipranges_id`='" . $item->getID() . "'", false, '`rank`');
     $a_used = array();
     foreach ($a_data as $data) {
         $a_used[] = $data['plugin_fusioninventory_configsecurities_id'];
     }
     echo "<div class='firstbloc'>";
     echo "<form name='iprange_configsecurity_form{$rand}' id='iprange_configsecurity_form{$rand}' method='post'\n             action='" . Toolbox::getItemTypeFormURL('PluginFusioninventoryIPRange_ConfigSecurity') . "' >";
     echo "<table class='tab_cadre_fixe'>";
     echo "<tr class='tab_bg_2'>";
     echo "<th colspan='2'>" . __('Add a SNMP authentication') . "</th>";
     echo "</tr>";
     echo "<tr class='tab_bg_2'>";
     echo "<td>";
     Dropdown::show('PluginFusioninventoryConfigSecurity', array('used' => $a_used));
     echo "</td>";
     echo "<td>";
     echo Html::hidden('plugin_fusioninventory_ipranges_id', array('value' => $item->getID()));
     echo "<input type='submit' name='add' value=\"" . _sx('button', 'Associate') . "\" class='submit'>";
     echo "</td>";
     echo "</tr>";
     echo "</table>";
     Html::closeForm();
     echo "</div>";
     // Display list of auth associated with IP range
     $rand = mt_rand();
     echo "<div class='spaced'>";
     Html::openMassiveActionsForm('mass' . __CLASS__ . $rand);
     $massiveactionparams = array('container' => 'mass' . __CLASS__ . $rand);
     Html::showMassiveActions($massiveactionparams);
     echo "<table class='tab_cadre_fixe'>";
     echo "<tr class='tab_bg_2'>";
     echo "<th width='10'>" . Html::getCheckAllAsCheckbox('mass' . __CLASS__ . $rand) . "</th>";
     echo "<th>";
     echo __('SNMP Authentication', 'fusioninventory');
     echo "</th>";
     echo "<th>";
     echo __('Version', 'fusioninventory');
     echo "</th>";
     echo "<th>";
     echo __('Rank');
     echo "</th>";
     echo "</tr>";
     $pfConfigSecurity = new PluginFusioninventoryConfigSecurity();
     foreach ($a_data as $data) {
         echo "<tr class='tab_bg_2'>";
         echo "<td>";
         Html::showMassiveActionCheckBox(__CLASS__, $data["id"]);
         echo "</td>";
         echo "<td>";
         $pfConfigSecurity->getFromDB($data['plugin_fusioninventory_configsecurities_id']);
         echo $pfConfigSecurity->getLink();
         echo "</td>";
         echo "<td>";
         echo $pfConfigSecurity->getSNMPVersion($pfConfigSecurity->fields['snmpversion']);
         echo "</td>";
         echo "<td>";
         echo $data['rank'];
         echo "</td>";
         echo "</tr>";
     }
     echo "</table>";
     $massiveactionparams['ontop'] = false;
     Html::showMassiveActions($massiveactionparams);
     echo "</div>";
 }
 /**
  * Add AUTHENTICATION string to XML node
  *
  *@param $p_sxml_node XML node to authenticate
  *@param $p_id Authenticate id
  *@return nothing
  **/
 function addAuth($p_sxml_node, $p_id)
 {
     $pfConfigSecurity = new PluginFusioninventoryConfigSecurity();
     if ($pfConfigSecurity->getFromDB($p_id)) {
         $sxml_authentication = $p_sxml_node->addChild('AUTHENTICATION');
         $sxml_authentication->addAttribute('ID', $p_id);
         $sxml_authentication->addAttribute('VERSION', $pfConfigSecurity->getSNMPVersion($pfConfigSecurity->fields['snmpversion']));
         if ($pfConfigSecurity->fields['snmpversion'] == '3') {
             $sxml_authentication->addAttribute('USERNAME', $pfConfigSecurity->fields['username']);
             if ($pfConfigSecurity->fields['authentication'] == '0') {
                 //                  $sxml_authentication->addAttribute('AUTHPROTOCOL', '');
             } else {
                 $sxml_authentication->addAttribute('AUTHPROTOCOL', $pfConfigSecurity->getSNMPAuthProtocol($pfConfigSecurity->fields['authentication']));
             }
             $sxml_authentication->addAttribute('AUTHPASSPHRASE', $pfConfigSecurity->fields['auth_passphrase']);
             if ($pfConfigSecurity->fields['encryption'] == '0') {
                 //                  $sxml_authentication->addAttribute('PRIVPROTOCOL', '');
             } else {
                 $sxml_authentication->addAttribute('PRIVPROTOCOL', $pfConfigSecurity->getSNMPEncryption($pfConfigSecurity->fields['encryption']));
             }
             $sxml_authentication->addAttribute('PRIVPASSPHRASE', $pfConfigSecurity->fields['priv_passphrase']);
         } else {
             $sxml_authentication->addAttribute('COMMUNITY', $pfConfigSecurity->fields['community']);
         }
     }
 }
Ejemplo n.º 3
0
   static function convertArgument($services_id, $argument) {
      global $DB;

      $pmService = new PluginMonitoringService();
      $pmComponentscatalog_Host = new PluginMonitoringComponentscatalog_Host();

      $pmService->getFromDB($services_id);

      $pmComponentscatalog_Host->getFromDB($pmService->fields['plugin_monitoring_componentscatalogs_hosts_id']);

      $itemtype = $pmComponentscatalog_Host->fields['itemtype'];
      $item = new $itemtype();
      $item->getFromDB($pmComponentscatalog_Host->fields['items_id']);

      $argument = str_replace("[", "", $argument);
      $argument = str_replace("]", "", $argument);
      $a_arg = explode(":", $argument);

      $devicetype = '';
      $devicedata = array();
      if ($itemtype == "NetworkPort") {
         $itemtype2 = $item->fields['itemtype'];
         $item2 = new $itemtype2();
         $item2->getFromDB($item->fields['items_id']);
         $devicetype = $itemtype2;
         $devicedata = $item2->fields;
      } else {
         $devicetype = $itemtype;
         $devicedata = $item->fields;
      }

      if ($devicetype == "NetworkEquipment") {
         if (class_exists("PluginFusioninventoryNetworkEquipment")) {
            $pfNetworkEquipment = new PluginFusioninventoryNetworkEquipment();
            $a_pfNetworkEquipment = current($pfNetworkEquipment->find("`networkequipments_id`='".$devicedata['id']."'", "", 1));

            switch ($a_arg[0]) {

               case 'OID':
                  // Load SNMP model and get oid.portnum
                  $query = "SELECT `glpi_plugin_fusioninventory_mappings`.`name` AS `mapping_name`,
                                   `glpi_plugin_fusioninventory_snmpmodelmibs`.*
                            FROM `glpi_plugin_fusioninventory_snmpmodelmibs`
                                 LEFT JOIN `glpi_plugin_fusioninventory_mappings`
                                           ON `glpi_plugin_fusioninventory_snmpmodelmibs`.`plugin_fusioninventory_mappings_id`=
                                              `glpi_plugin_fusioninventory_mappings`.`id`
                            WHERE `plugin_fusioninventory_snmpmodels_id`='".$a_pfNetworkEquipment['plugin_fusioninventory_snmpmodels_id']."'
                              AND `is_active`='1'
                              AND `oid_port_counter`='0'
                              AND `glpi_plugin_fusioninventory_mappings`.`name`='".$a_arg[1]."'";

                  $result=$DB->query($query);
                  while ($data=$DB->fetch_array($result)) {
                     return Dropdown::getDropdownName('glpi_plugin_fusioninventory_snmpmodelmiboids',$data['plugin_fusioninventory_snmpmodelmiboids_id']).
                          ".".$item->fields['logical_number'];
                  }


                  return '';
                  break;

               case 'SNMP':
                  if ($a_pfNetworkEquipment['plugin_fusioninventory_configsecurities_id'] == '0') {

                     switch ($a_arg[1]) {

                        case 'version':
                           return '2c';
                           break;

                        case 'authentication':
                           return 'public';
                           break;

                     }

                  }
                  $pfConfigSecurity = new PluginFusioninventoryConfigSecurity();
                  $pfConfigSecurity->getFromDB($a_pfNetworkEquipment['plugin_fusioninventory_configsecurities_id']);

                  switch ($a_arg[1]) {

                     case 'version':
                        if ($pfConfigSecurity->fields['snmpversion'] == '2') {
                           $pfConfigSecurity->fields['snmpversion'] = '2c';
                        }
                        return $pfConfigSecurity->fields['snmpversion'];
                        break;

                     case 'authentication':
                        return $pfConfigSecurity->fields['community'];
                        break;

                  }

                  break;

            }
         }
      }
      return $argument;
   }