예제 #1
0
 /**
  * \brief Show aliases for an item from its form
  * Beware that the rendering can be different if readden from direct item form (ie : add new
  * NetworkAlias, remove, ...) or if readden from item of the item (for instance from the computer
  * form through NetworkPort::ShowForItem and NetworkName::ShowForItem).
  *
  * @param $item                     NetworkName object
  * @param $withtemplate   integer   withtemplate param (default 0)
  **/
 static function showForNetworkName(NetworkName $item, $withtemplate = 0)
 {
     global $DB, $CFG_GLPI;
     $ID = $item->getID();
     if (!$item->can($ID, 'r')) {
         return false;
     }
     $canedit = $item->can($ID, 'w');
     $rand = mt_rand();
     $query = "SELECT *\n                FROM `glpi_networkaliases`\n                WHERE `networknames_id` = '{$ID}'";
     $result = $DB->query($query);
     $aliases = array();
     if ($number = $DB->numrows($result)) {
         while ($line = $DB->fetch_assoc($result)) {
             $aliases[$line["id"]] = $line;
         }
     }
     if ($canedit) {
         echo "\n<div class='firstbloc'>";
         echo "<script type='text/javascript' >\n";
         echo "function viewAddAlias{$rand}() {\n";
         $params = array('type' => __CLASS__, 'parenttype' => 'NetworkName', 'networknames_id' => $ID, 'id' => -1);
         Ajax::updateItemJsCode("viewnetworkalias{$rand}", $CFG_GLPI["root_doc"] . "/ajax/viewsubitem.php", $params);
         echo "};";
         echo "</script>";
         echo "<a class='vsubmit' href='javascript:viewAddAlias{$rand}();'>";
         echo __('Add a network alias') . "</a>\n";
         echo "</div>\n";
     }
     echo "<div id='viewnetworkalias{$rand}'></div>";
     echo "<div class='spaced'>";
     if ($canedit && $number) {
         Html::openMassiveActionsForm('mass' . __CLASS__ . $rand);
         $massiveactionparams = array('num_displayed' => $number);
         Html::showMassiveActions(__CLASS__, $massiveactionparams);
     }
     echo "<table class='tab_cadre_fixehov'>";
     echo "<tr>";
     if ($canedit && $number) {
         echo "<th width='10'>" . Html::getCheckAllAsCheckbox('mass' . __CLASS__ . $rand) . "</th>";
     }
     echo "<th>" . __('Name') . "</th>";
     echo "<th>" . _n('Internet domain', 'Internet domains', 1) . "</th>";
     echo "<th>" . __('Entity') . "</th>";
     echo "</tr>";
     $used = array();
     foreach ($aliases as $data) {
         $showviewjs = $canedit ? "style='cursor:pointer' onClick=\"viewEditAlias" . $data['id'] . "{$rand}();\"" : '';
         echo "<tr class='tab_bg_1'>";
         if ($canedit) {
             echo "<td>";
             Html::showMassiveActionCheckBox(__CLASS__, $data["id"]);
             echo "</td>";
         }
         $name = $data["name"];
         if ($_SESSION["glpiis_ids_visible"] || empty($data["name"])) {
             $name = sprintf(__('%1$s (%2$s)'), $name, $data["id"]);
         }
         echo "<td class='center b' {$showviewjs}>";
         if ($canedit) {
             echo "\n<script type='text/javascript' >\n";
             echo "function viewEditAlias" . $data["id"] . "{$rand}() {\n";
             $params = array('type' => __CLASS__, 'parenttype' => 'NetworkName', 'networknames_id' => $ID, 'id' => $data["id"]);
             Ajax::updateItemJsCode("viewnetworkalias{$rand}", $CFG_GLPI["root_doc"] . "/ajax/viewsubitem.php", $params);
             echo "};";
             echo "</script>\n";
         }
         echo "<a href='" . static::getFormURL() . "?id=" . $data["id"] . "'>" . $name . "</a>";
         echo "</td>";
         echo "<td class='center' {$showviewjs}>" . Dropdown::getDropdownName("glpi_fqdns", $data["fqdns_id"]);
         echo "<td class='center' {$showviewjs}>" . Dropdown::getDropdownName("glpi_entities", $data["entities_id"]);
         echo "</tr>";
     }
     echo "</table>";
     if ($canedit && $number) {
         $massiveactionparams['ontop'] = false;
         Html::showMassiveActions(__CLASS__, $massiveactionparams);
         Html::closeForm();
     }
     echo "</div>";
 }