/**
  *
  *
  * @param $items_id integer ID
  *
  * @param $host_id integer associated host ID
  * @param $options array
  *
  *@return bool true if form is ok
  *
  **/
 function showForm($id = -1, $itemtype = 'Host', $items_id = -1, $options = array())
 {
     global $DB, $CFG_GLPI;
     // Toolbox::logInFile("pm-ack", "acknowledge, showForm, id : $id, item type : $itemtype / $items_id\n");
     $createAcknowledge = false;
     if ($id == -1) {
         // if ($itemtype == 'N/A') $itemtype = 'Computer';
         // if ($itemtype == '') $itemtype = 'Computer';
         $itemtype = 'PluginMonitoring' . $itemtype;
         $item = new $itemtype();
         $item->getFromDB($items_id);
         if ($item->isCurrentlyAcknowledged()) {
             // If host currently acknowledged, show current acknowledge ...
             $pmAcknowledge = new PluginMonitoringAcknowledge();
             $this->getFromDB($pmAcknowledge->getFromHost($this->getID()));
         } else {
             // .. else create new acknowledge
             $createAcknowledge = true;
             $this->getEmpty();
             $this->setDefaultContent($itemtype, $items_id);
         }
     } else {
         $this->getFromDB($id);
         $createAcknowledge = true;
     }
     // Now ...
     $nowDate = date('Y-m-d');
     $nowTime = date('H:i:s');
     $this->showFormHeader($options);
     $this->isExpired();
     $itemtype = $this->getField('itemtype');
     if ($itemtype == 'N/A') {
         $itemtype = 'Computer';
     }
     if ($itemtype == '') {
         $itemtype = 'Computer';
     }
     $item = new $itemtype();
     $item->getFromDB($this->getField("items_id"));
     echo "<tr class='tab_bg_1'>";
     echo "<td>" . $item->getTypeName() . "</td>";
     echo "<td>";
     echo "<input type='hidden' name='itemtype' value='" . $this->fields['itemtype'] . "' />";
     echo "<input type='hidden' name='items_id' value='" . $this->fields['items_id'] . "' />";
     echo $item->getLink() . "&nbsp;" . $item->getComments();
     echo "</td>";
     echo "<td>" . __('Sticky ?', 'monitoring') . "</td>";
     echo "<td>";
     if ($createAcknowledge) {
         Dropdown::showYesNo('sticky', $this->fields['sticky']);
     } else {
         echo Dropdown::getYesNo($this->fields['sticky']);
     }
     echo "</td>";
     echo "</tr>";
     echo "<tr class='tab_bg_1'>";
     echo "<td>" . __('Start time', 'monitoring') . "</td>";
     echo "<td>";
     $date = $this->fields["start_time"];
     Html::showDateTimeField("start_time", array('value' => $date, 'timestep' => 10, 'maybeempty' => false, 'canedit' => $createAcknowledge, 'mindate' => $nowDate, 'mintime' => $nowTime));
     echo "</td>";
     echo "<td>" . __('Persistent ?', 'monitoring') . "</td>";
     echo "<td>";
     if ($createAcknowledge) {
         Dropdown::showYesNo('persistent', $this->fields['persistent']);
     } else {
         echo Dropdown::getYesNo($this->fields['persistent']);
     }
     echo "</td>";
     echo "</tr>";
     echo "<tr class='tab_bg_1'>";
     echo "<td>" . __('End time', 'monitoring') . "</td>";
     echo "<td>";
     $date = $this->fields["end_time"];
     Html::showDateTimeField("end_time", array('value' => $date, 'timestep' => 10, 'maybeempty' => false, 'canedit' => $createAcknowledge, 'mindate' => $nowDate, 'mintime' => $nowTime));
     echo "</td>";
     echo "<td>" . __('Notify ?', 'monitoring') . "</td>";
     echo "<td>";
     if ($createAcknowledge) {
         Dropdown::showYesNo('notify', $this->fields['notify']);
     } else {
         echo Dropdown::getYesNo($this->fields['notify']);
     }
     echo "</td>";
     echo "</tr>";
     echo "<tr class='tab_bg_1'>";
     echo "<td>" . __('Comment', 'monitoring') . "</td>";
     echo "<td >";
     if ($createAcknowledge) {
         echo "<textarea cols='80' rows='4' name='comment' >" . $this->fields['comment'] . "</textarea>";
     } else {
         echo "<textarea cols='80' rows='4' name='comment' readonly='1' disabled='1' >" . $this->fields['comment'] . "</textarea>";
     }
     echo "</td>";
     echo "</tr>";
     echo "<tr class='tab_bg_1'>";
     echo "<td>" . __('User', 'monitoring') . "</td>";
     echo "<td>";
     echo "<input type='hidden' name='users_id' value='" . $this->fields['users_id'] . "' />";
     echo $this->getUsername();
     echo "</td>";
     echo "<td>" . __('Expired ?', 'monitoring') . "</td>";
     echo "<td>";
     echo Dropdown::getYesNo($this->fields['expired']);
     echo "</td>";
     echo "</tr>";
     $this->showFormButtons();
     return true;
 }
示例#2
0
   function getAcknowledge() {
      if ($this->getID() == -1) return false;

      $pmAcknowledge = new PluginMonitoringAcknowledge();
      if ($pmAcknowledge->getFromHost($this->getID(), 'Service') != -1) {
         return ($pmAcknowledge->getComments());
      }

      return '';
   }