/** * Función para mostrar los elementos del Dashboard * * @param EventInterface $item El elemento que contiene los datos. * @param bool $newItem Si es un nuevo elemento * @param bool $newItemUp Si es un nuevo elemento recuperado * @return EventInterface */ private function getHtmlItems(EventInterface $item, $newItem = false, $newItemUp = false) { $lastStateTime = date("m-d-Y H:i:s", $item->getLastHardStateChange()); $lastStateDuration = Util::timeElapsed(time() - $item->getLastHardStateChange()); $lastCheckDuration = Util::timeElapsed(time() - $item->getLastCheck()); $serviceDesc = $item->getDisplayName() ? $item->getDisplayName() : $item->getCheckCommand(); $hostname = $item->getHostDisplayName() ? $item->getHostDisplayName() : $item->getDisplayName(); $hostAlias = $item->getHostAlias() ? $item->getHostAlias() : ($item->getAlias() ? $item->getAlias() : $hostname); $scheduled = $item->getScheduledDowntimeDepth() >= 1 || $item->getHostScheduledDowntimeDepth() >= 1; $tdClass = ''; $trClass = EventState::getStateClass($item); $statusName = EventState::getStateName($item); $link = null; if ($item->getHostLastTimeUnreachable() > $item->getHostLastTimeUp() && !$newItemUp || $item->getLastTimeUnreachable() > $item->getLastCheck() && $item->getStateType() === 1) { $trClass = EventState::getStateClass($item, EventStateInterface::STATE_UNREACHABLE); $statusName = EventState::getStateName($item, EventStateInterface::STATE_UNREACHABLE); } if ($scheduled) { $trClass = EventState::getStateClass($item, EventStateInterface::STATE_SCHEDULED); $statusName = EventState::getStateName($item, EventStateInterface::STATE_SCHEDULED); } if ($newItem && !$item->isAcknowledged() && !$scheduled && !$newItemUp) { $tdClass = "new"; } elseif ($newItemUp && time() - $item->getLastHardStateChange() <= Config::getConfig()->getNewItemTime() / 2) { $trClass = EventState::getStateClass($item, EventStateInterface::STATE_RECOVER); $statusName = EventState::getStateName($item, EventStateInterface::STATE_RECOVER); } elseif ($item->isFlapping()) { $trClass = EventState::getStateClass($item, EventStateInterface::STATE_FLAPPING); $statusName = EventState::getStateName($item, EventStateInterface::STATE_FLAPPING); } elseif ($item->isAcknowledged()) { $trClass = EventState::getStateClass($item, EventStateInterface::STATE_ACKNOWLEDGED); $statusName = EventState::getStateName($item, EventStateInterface::STATE_ACKNOWLEDGED); } $line = '<tr class="item-data ' . $trClass . '" title="' . sprintf(Language::t('Estado %s desde %s'), $statusName, $lastStateTime) . '">' . PHP_EOL; $line .= '<td class="center">' . $statusName . '</td>'; if (Config::getConfig()->isColLastcheck()) { $line .= '<td title="' . sprintf('%s : %s', Language::t('Último check'), $lastCheckDuration) . '" class="center ' . $tdClass . '">' . $lastStateDuration . '</td>' . PHP_EOL; } if (Config::getConfig()->isColHost()) { if (!is_null($link)) { $line .= '<td><a href="' . $link . '" target="blank" title="' . $hostname . '">' . $hostAlias . '</a></td>' . PHP_EOL; } else { $line .= '<td>' . $hostAlias . '</td>' . PHP_EOL; } } if (Config::getConfig()->isColStatusInfo()) { if ($item->getFilterStatus() === '' || $newItem) { $line .= '<td class="statusinfo">' . $item->getPluginOutput() . '</td>' . PHP_EOL; } else { $line .= '<td class="statusinfo">' . $item->getPluginOutput() . '<br>Filter: ' . $item->getFilterStatus() . '</td>' . PHP_EOL; } } if (Config::getConfig()->isColService()) { $line .= '<td class="center">' . $serviceDesc . '</td>' . PHP_EOL; } if (Config::getConfig()->isColBackend()) { $line .= '<td class="center">' . $item->getBackendAlias() . '</td>' . PHP_EOL; } $line .= '</tr>' . PHP_EOL; return $line; }
/** @var $downtime \SMD\Backend\Event\DowntimeInterface */ ?> <?php $tiempoRestante = $downtime->getStartTime() - time(); ?> <tr> <td><?php echo is_array($downtime->getHostName()) ? implode('<br>', $downtime->getHostName()) : $downtime->getHostName(); ?> </td> <td><?php echo $downtime->getServiceDisplayName() ? $downtime->getServiceDisplayName() : $downtime->getHostName(); ?> </td> <td><?php echo $tiempoRestante > 0 ? sprintf(Language::t('Quedan %s'), Util::timeElapsed($tiempoRestante)) : Language::t('En parada'); ?> </td> <td><?php echo date('d-m-Y H:i', $downtime->getStartTime()), ' → ', date('d-m-Y H:i', $downtime->getEndTime()); ?> </td> <td><?php echo $downtime->getAuthor(); ?> </td> <td><?php echo $downtime->getComment(); ?> </td> <?php