function addItem($displayviews_id) { global $DB, $CFG_GLPI; $this->getEmpty(); $pmDisplayview = new PluginMonitoringDisplayview(); $pmDisplayview->getFromDB($displayviews_id); // Manage entity_sons $a_entities = array(); if (!($pmDisplayview->fields['entities_id'] < 0)) { if ($pmDisplayview->fields['is_recursive'] == '0') { $a_entities[$pmDisplayview->fields['entities_id']] = $pmDisplayview->fields['entities_id']; } else { $a_entities = getSonsOf('glpi_entities', $pmDisplayview->fields['entities_id']); } } $options = array(); $this->showFormHeader($options); echo "<tr class='tab_bg_1'>"; echo "<td>"; echo "<input type='hidden' name='plugin_monitoring_displayviews_id' value='" . $displayviews_id . "' />"; echo __('Element to display', 'monitoring') . " :</td>"; echo "<td>"; $elements = array(); $elements['NULL'] = Dropdown::EMPTY_VALUE; $elements['PluginMonitoringDisplayview'] = __('Views', 'monitoring'); $elements['PluginMonitoringServicescatalog'] = __('Business rules', 'monitoring'); // $elements['service'] = __('Resources (info)', 'monitoring'); $elements['host'] = __('Host (info)', 'monitoring'); $elements['PluginMonitoringService'] = __('Resources (graph)', 'monitoring'); $elements['PluginMonitoringComponentscatalog'] = __('Components catalog', 'monitoring'); $elements['PluginMonitoringWeathermap'] = __('Weathermap', 'monitoring'); $rand = Dropdown::showFromArray('itemtype', $elements, array('value' => $this->fields['itemtype'])); $params = array('itemtype' => '__VALUE__', 'displayviews_id' => $displayviews_id, 'myname' => "items_id", 'a_entities' => $a_entities); Ajax::updateItemOnSelectEvent("dropdown_itemtype" . $rand, "items_id", $CFG_GLPI["root_doc"] . "/plugins/monitoring/ajax/dropdownDisplayviewItemtype.php", $params); echo "<span id='items_id'></span>"; echo "<input type='hidden' name='x' value='1' />"; echo "<input type='hidden' name='y' value='1' />"; echo "</td>"; echo "<td colspan='2'></td>"; echo "</tr>"; $this->showFormButtons($options); return true; }
function menu() { global $CFG_GLPI; $redirect = FALSE; $a_url = array(); echo "<table class='tab_cadre_fixe' width='950'>"; echo "<tr class='tab_bg_3'>"; echo "<td>"; if (PluginMonitoringProfile::haveRight("restartshinken", 'w') || PluginMonitoringProfile::haveRight("servicescatalog", 'r') || PluginMonitoringProfile::haveRight("componentscatalog", 'r') || PluginMonitoringProfile::haveRight("allressources", 'r')) { echo "<table class='tab_cadre_fixe' width='950'>"; echo "<tr class='tab_bg_1'>"; echo "<th width='19%' colspan='2'>"; if (PluginMonitoringProfile::haveRight("restartshinken", 'w')) { echo "<a href='" . $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/restartshinken.form.php'>" . __('Restart Shinken', 'monitoring') . "</a>"; } echo "</th>"; echo "<th width='27%' colspan='2'>"; if (PluginMonitoringProfile::haveRight("servicescatalog", 'r')) { $this->displayPuce('display_servicescatalog'); echo "<a href='" . $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/display_servicescatalog.php'>"; echo __('Services catalog', 'monitoring'); echo "</a>"; $a_url[] = $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/display_servicescatalog.php"; } else { if (basename($_SERVER['PHP_SELF']) == 'display_servicescatalog.php') { $redirect = TRUE; } } echo "</th>"; echo "<th width='27%' colspan='2'>"; if (PluginMonitoringProfile::haveRight("componentscatalog", 'r')) { $this->displayPuce('display_componentscatalog'); echo "<a href='" . $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/display_componentscatalog.php'>"; echo __('Components catalog', 'monitoring'); echo "</a>"; $a_url[] = $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/display_componentscatalog.php"; } else { if (basename($_SERVER['PHP_SELF']) == 'display_componentscatalog.php') { $redirect = TRUE; } } echo "</th>"; echo "<th colspan='2'>"; if (PluginMonitoringProfile::haveRight("allressources", 'r')) { $this->displayPuce('service'); echo "<a href='" . $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/service.php'>"; echo __('All resources', 'monitoring'); echo "</a>"; $a_url[] = $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/service.php"; } else { if (basename($_SERVER['PHP_SELF']) == 'service.php') { $redirect = TRUE; } } echo "</th>"; echo "</tr>"; echo "</table>"; } else { if (basename($_SERVER['PHP_SELF']) == 'display_servicescatalog.php') { $redirect = TRUE; } else { if (basename($_SERVER['PHP_SELF']) == 'display_componentscatalog.php') { $redirect = TRUE; } else { if (basename($_SERVER['PHP_SELF']) == 'service.php') { $redirect = TRUE; } } } } $i = 1; $pmDisplayview = new PluginMonitoringDisplayview(); $a_views = $pmDisplayview->getViews(); if (count($a_views) > 0) { echo "<table class='tab_cadre_fixe' width='950'>"; echo "<tr class='tab_bg_1'>"; foreach ($a_views as $views_id => $name) { $pmDisplayview->getFromDB($views_id); if ($pmDisplayview->haveVisibilityAccess()) { if ($i == 6) { echo "</tr>"; echo "<tr class='tab_bg_1'>"; $i = 1; } echo "<th width='20%'>"; $this->displayPuce('display_view', $views_id); echo "<a href='" . $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/display_view.php?id=" . $views_id . "'>"; echo htmlentities($name); echo "</a>"; echo "</th>"; $i++; $a_url[] = $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/display_view.php?id=" . $views_id; } } for ($i; $i < 6; $i++) { echo "<td width='20%'>"; echo "</td>"; } echo "</tr>"; echo "</table>"; } echo "</td>"; echo "</tr>"; echo "</table>"; if ($redirect) { Html::redirect(array_shift($a_url)); } }
$pmDisplayview = new PluginMonitoringDisplayview(); if (!isset($_SESSION['plugin_monitoring_view_ariane'])) { $_SESSION['plugin_monitoring_view_ariane'] = array(); } if (!isset($_SESSION['plugin_monitoring_view_ariane'][$_GET['id']])) { $_SESSION['plugin_monitoring_view_ariane'][$_GET['id']] = array(); } if (!isset($_SESSION['plugin_monitoring_view_arianelist'])) { $_SESSION['plugin_monitoring_view_arianelist'] = array(); } if (!isset($_SESSION['plugin_monitoring_view_arianelist'][$_GET['id']])) { $_SESSION['plugin_monitoring_view_arianelist'][$_GET['id']] = array(); } if (strstr($_GET['updatefil'], '!')) { $displayviews_id = str_replace("!", "", $_GET['updatefil']); $pmDisplayview->getFromDB($displayviews_id); if (!isset($_SESSION['plugin_monitoring_view_arianelist'][$_GET['id']][$displayviews_id])) { $cnt = count($_SESSION['plugin_monitoring_view_ariane'][$_GET['id']]); $_SESSION['plugin_monitoring_view_ariane'][$_GET['id']][$cnt] = array('id' => $displayviews_id, 'name' => $pmDisplayview->fields['name']); $_SESSION['plugin_monitoring_view_arianelist'][$_GET['id']][$displayviews_id] = 1; } } $elements = array(); $todelete = 0; foreach ($_SESSION['plugin_monitoring_view_ariane'][$_GET['id']] as $num => $data) { if ($todelete) { unset($_SESSION['plugin_monitoring_view_ariane'][$_GET['id']][$num]); unset($_SESSION['plugin_monitoring_view_arianelist'][$_GET['id']][$data['id']]); } else { $link = ''; if ($data['id'] != $_GET['currentview']) {
function menu($refreshtype = '') { global $CFG_GLPI; $redirect = FALSE; $a_url = array(); /* Moke-up for user's preferences ... if (PluginMonitoringProfile::haveRight("preferences", 'r')) { echo "<table class='tab_cadre_fixe' style='width: 120px; position: absolute; right: 15px;'>"; echo "<tr class='tab_bg_1'>"; echo "<td>"; echo "<button><a href='".$CFG_GLPI['root_doc']."/plugins/monitoring/front/restartshinken.form.php'>".__('Restart Shinken', 'monitoring')."</a></button>"; echo "</td>"; echo "</tr>"; echo "</table>"; } */ echo "<table class='tab_cadre_fixe' width='950'>"; echo "<tr class='tab_bg_3'>"; echo "<td>"; $this->restartShinken(); if (Session::haveRight("plugin_monitoring_systemstatus", PluginMonitoringSystem::DASHBOARD) || Session::haveRight("plugin_monitoring_hoststatus", PluginMonitoringHost::DASHBOARD) || Session::haveRight("plugin_monitoring_servicescatalog", PluginMonitoringService::DASHBOARD) || Session::haveRight("plugin_monitoring_componentscatalog", PluginMonitoringComponentscatalog::DASHBOARD) || Session::haveRight("plugin_monitoring_service", PluginMonitoringService::DASHBOARD)) { echo "<table class='tab_cadre_fixe'>"; echo "<tr class='tab_bg_1'>"; if (Session::haveRight("plugin_monitoring_systemstatus", PluginMonitoringSystem::DASHBOARD)) { echo "<th colspan='2'>"; $this->displayPuce('display_system_status'); echo "<a href='" . $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/display_system_status.php'>"; echo __('System status', 'monitoring'); echo "</a>"; $pmTag = new PluginMonitoringTag(); $servers = 'OK'; if (!$pmTag->get_servers_status()) { $servers = 'CRITICAL'; } echo "<div class='service service" . $servers . "' style='float : left;'></div>"; $a_url[] = $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/display_system_status.php"; echo "</th>"; } else { if (basename($_SERVER['PHP_SELF']) == 'display_system_status.php') { $redirect = TRUE; } } if (Session::haveRight("plugin_monitoring_hoststatus", PluginMonitoringHost::DASHBOARD)) { echo "<th colspan='2'>"; $this->displayPuce('host'); echo "<a href='" . $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/host.php'>"; echo __('Hosts status', 'monitoring'); echo "</a>"; $a_url[] = $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/host.php"; echo "</th>"; } else { if (basename($_SERVER['PHP_SELF']) == 'host.php') { $redirect = TRUE; } } if (Session::haveRight("plugin_monitoring_servicescatalog", PluginMonitoringService::DASHBOARD)) { echo "<th colspan='2'>"; $this->displayPuce('service'); echo "<a href='" . $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/service.php'>"; echo __('All resources', 'monitoring'); echo "</a>"; $a_url[] = $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/service.php"; echo "</th>"; } else { if (basename($_SERVER['PHP_SELF']) == 'service.php') { $redirect = TRUE; } } if (Session::haveRight("plugin_monitoring_service", PluginMonitoringService::DASHBOARD)) { echo "<th colspan='2'>"; $this->displayPuce('perfdatas'); echo "<a href='" . $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/perfdatas.php'>"; echo __('Performance data', 'monitoring'); echo "</a>"; $a_url[] = $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/perfdatas.php"; echo "</th>"; } else { if (basename($_SERVER['PHP_SELF']) == 'perfdatas.php') { $redirect = TRUE; } } if (Session::haveRight("plugin_monitoring_servicescatalog", PluginMonitoringService::DASHBOARD)) { echo "<th colspan='2'>"; $this->displayPuce('display_servicescatalog'); echo "<a href='" . $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/display_servicescatalog.php'>"; echo __('Services catalogs', 'monitoring'); echo "</a>"; $a_url[] = $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/display_servicescatalog.php"; echo "</th>"; } else { if (basename($_SERVER['PHP_SELF']) == 'display_servicescatalog.php') { $redirect = TRUE; } } if (Session::haveRight("plugin_monitoring_componentscatalog", PluginMonitoringComponentscatalog::DASHBOARD)) { echo "<th colspan='2'>"; $this->displayPuce('display_componentscatalog'); echo "<a href='" . $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/display_componentscatalog.php'>"; echo __('Components catalogs', 'monitoring'); echo "</a>"; $a_url[] = $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/display_componentscatalog.php"; echo "</th>"; } else { if (basename($_SERVER['PHP_SELF']) == 'display_componentscatalog.php') { $redirect = TRUE; } } echo "</tr>"; echo "</table>"; if (Session::haveRight("plugin_monitoring_acknowledge", READ) || Session::haveRight("plugin_monitoring_downtime", READ)) { echo "<table class='tab_cadre_fixe'>"; echo "<tr class='tab_bg_1'>"; echo "<th>"; echo "<a href='" . $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/downtime.php'>" . __('Downtimes', 'monitoring') . "</a>"; echo "</th>"; echo "<th>"; echo "<a href='" . $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/acknowledge.php'>" . __('Acknowledges', 'monitoring') . "</a>"; echo "</th>"; echo "</tr>"; echo "</table>"; } } else { if (basename($_SERVER['PHP_SELF']) == 'display_servicescatalog.php') { $redirect = TRUE; } else { if (basename($_SERVER['PHP_SELF']) == 'display_componentscatalog.php') { $redirect = TRUE; } else { if (basename($_SERVER['PHP_SELF']) == 'service.php') { $redirect = TRUE; } else { if (basename($_SERVER['PHP_SELF']) == 'host.php') { $redirect = TRUE; } } } } } if (Session::haveRight("plugin_monitoring_displayview", PluginMonitoringDisplayview::DASHBOARD)) { $i = 1; $pmDisplayview = new PluginMonitoringDisplayview(); $a_views = $pmDisplayview->getViews(); if (count($a_views) > 0) { echo "<table class='tab_cadre_fixe' width='950'>"; echo "<tr class='tab_bg_1'>"; foreach ($a_views as $views_id => $name) { $pmDisplayview->getFromDB($views_id); if ($pmDisplayview->haveVisibilityAccess()) { if ($i == 6) { echo "</tr>"; echo "<tr class='tab_bg_1'>"; $i = 1; } echo "<th width='20%'>"; $this->displayPuce('display_view', $views_id); echo "<a href='" . $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/display_view.php?id=" . $views_id . "'>"; echo htmlentities($name); echo "</a>"; echo "</th>"; $i++; $a_url[] = $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/display_view.php?id=" . $views_id; } } // Fred : what is it for ? // It's to finish properly the table for ($i; $i < 6; $i++) { echo "<td width='20%'>"; echo "</td>"; } echo "</tr>"; echo "</table>"; } } if (Session::haveRight("plugin_monitoring_slider", PluginMonitoringSlider::DASHBOARD)) { $i = 1; $pmSlider = new PluginMonitoringSlider(); $a_sliders = $pmSlider->getSliders(); if (count($a_sliders) > 0) { echo "<table class='tab_cadre_fixe' width='950'>"; echo "<tr class='tab_bg_1'>"; foreach ($a_sliders as $sliders_id => $name) { $pmSlider->getFromDB($sliders_id); if ($pmSlider->haveVisibilityAccess()) { if ($i == 6) { echo "</tr>"; echo "<tr class='tab_bg_1'>"; $i = 1; } echo "<th width='20%'>"; $this->displayPuce('slider', $sliders_id); echo "<a href='" . $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/display_slider.php?id=" . $sliders_id . "'>"; echo htmlentities($name); echo "</a>"; echo "</th>"; $i++; $a_url[] = $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/display_slider.php?id=" . $sliders_id; } } for ($i; $i < 6; $i++) { echo "<td width='20%'>"; echo "</td>"; } echo "</tr>"; echo "</table>"; } } if ($refreshtype == 'service') { $this->refreshPage(); } echo "</td>"; echo "</tr>"; echo "</table>"; if ($redirect) { Html::redirect(array_shift($a_url)); } }
static function displayTabContentForItem(CommonGLPI $item, $tabnum = 1, $withtemplate = 0) { if ($item->getType() == 'PluginMonitoringDisplayview') { switch ($tabnum) { case 1: $pmDisplayview_item = new PluginMonitoringDisplayview_item(); $pmDisplayview_item->view($item->getID(), 1); break; case 2: $item->showVisibility(); break; } if ($tabnum >= 20) { $pmDisplayview_rule = new PluginMonitoringDisplayview_rule(); $pmDisplayview_rule->ShowRulesTabs($item->getID(), $tabnum); } } else { if ($item->getType() == 'Central') { if (Session::haveRight("plugin_monitoring_displayview", PluginMonitoringDisplayview::HOMEPAGE)) { $pmDisplayview_item = new PluginMonitoringDisplayview_item(); $pmDisplayview = new PluginMonitoringDisplayview(); $a_views = $pmDisplayview->getViews(1); foreach ($a_views as $views_id => $name) { $pmDisplayview->getFromDB($views_id); if ($pmDisplayview->haveVisibilityAccess()) { $pmDisplayview_item->view($views_id); } } } } } return true; }
static function getItemsDynamicly($parm) { global $DB; $pmDisplayview_rule = new PluginMonitoringDisplayview_rule(); $pmDisplayview_item = new PluginMonitoringDisplayview_item(); $pmDisplayview = new PluginMonitoringDisplayview(); $pmSearch = new PluginMonitoringSearch(); $pmService = new PluginMonitoringService(); $devices_present = array(); if ($pmDisplayview_rule->getFromDB($parm->fields['id'])) { if ($pmDisplayview->getFromDB($pmDisplayview_rule->fields['plugin_monitoring_displayviews_id'])) { // Load right entity $default_entity = 0; if (isset($_SESSION['glpiactive_entity'])) { $default_entity = $_SESSION['glpiactive_entity']; } $entities_isrecursive = 0; if (isset($_SESSION['glpiactiveentities']) and count($_SESSION['glpiactiveentities']) > 1) { $entities_isrecursive = 1; } Session::changeActiveEntities($pmDisplayview->fields['entities_id'], $pmDisplayview->fields['is_recursive']); $get_tmp = ''; $itemtype = $pmDisplayview_rule->fields['itemtype']; if (isset($_GET)) { $get_tmp = $_GET; } if (isset($_SESSION["glpisearchcount"][$pmDisplayview_rule->fields['itemtype']])) { unset($_SESSION["glpisearchcount"][$pmDisplayview_rule->fields['itemtype']]); } if (isset($_SESSION["glpisearchcount2"][$pmDisplayview_rule->fields['itemtype']])) { unset($_SESSION["glpisearchcount2"][$pmDisplayview_rule->fields['itemtype']]); } $_GET = importArrayFromDB($pmDisplayview_rule->fields['condition']); $_GET["glpisearchcount"] = count($_GET['field']); if (isset($_GET['field2'])) { $_GET["glpisearchcount2"] = count($_GET['field2']); } $params = Search::manageParams($pmDisplayview_rule->fields['itemtype'], $_GET); // Search::manageGetValues($pmDisplayview_rule->fields['itemtype']); $queryd = "SELECT * FROM `glpi_plugin_monitoring_displayviews_items`\n WHERE `plugin_monitoring_displayviews_id`='" . $pmDisplayview_rule->fields["plugin_monitoring_displayviews_id"] . "'\n AND `itemtype`='" . $pmDisplayview_rule->fields['type'] . "'\n AND `extra_infos`='" . $pmDisplayview_rule->fields['itemtype'] . "'"; $result = $DB->query($queryd); while ($data = $DB->fetch_array($result)) { $devices_present[$data['items_id']] = $data['id']; } $glpilist_limit = $_SESSION['glpilist_limit']; $_SESSION['glpilist_limit'] = 500000; $result = $pmSearch->constructSQL($itemtype, $_GET); $_SESSION['glpilist_limit'] = $glpilist_limit; while ($data = $DB->fetch_array($result)) { if (!isset($devices_present[$data['id']])) { // Verify this device has one or more resources $query_h = "SELECT * FROM `glpi_plugin_monitoring_componentscatalogs_hosts`" . " LEFT JOIN `glpi_plugin_monitoring_services`" . " ON `plugin_monitoring_componentscatalogs_hosts_id`=" . " `glpi_plugin_monitoring_componentscatalogs_hosts`.`id`" . " WHERE `items_id`='" . $data['id'] . "'" . " AND `itemtype`='" . $pmDisplayview_rule->fields['itemtype'] . "'" . " AND `glpi_plugin_monitoring_services`.`id` IS NOT NULL"; $result_h = $DB->query($query_h); if ($DB->numrows($result_h) > 0) { $input = array(); $input['plugin_monitoring_displayviews_id'] = $pmDisplayview_rule->fields["plugin_monitoring_displayviews_id"]; $input['x'] = '1'; $input['y'] = '1'; $input['items_id'] = $data['id']; $input['itemtype'] = $pmDisplayview_rule->fields['type']; $input['extra_infos'] = $pmDisplayview_rule->fields['itemtype']; $pmDisplayview_item->add($input); } } else { // Verify this device has one or more resources $query_h = "SELECT * FROM `glpi_plugin_monitoring_componentscatalogs_hosts`" . " LEFT JOIN `glpi_plugin_monitoring_services`" . " ON `plugin_monitoring_componentscatalogs_hosts_id`=" . " `glpi_plugin_monitoring_componentscatalogs_hosts`.`id`" . " WHERE `items_id`='" . $data['id'] . "'" . " AND `itemtype`='" . $pmDisplayview_rule->fields['itemtype'] . "'" . " AND `glpi_plugin_monitoring_services`.`id` IS NOT NULL"; $result_h = $DB->query($query_h); if ($DB->numrows($result_h) > 0) { unset($devices_present[$data['id']]); } } } // Reload current entity Session::changeActiveEntities($default_entity, $entities_isrecursive); } else { $pmDisplayview->delete(array('id' => $pmDisplayview_rule->fields['plugin_monitoring_displayviews_id'])); } } foreach ($devices_present as $id) { $pmDisplayview_item->delete(array('id' => $id)); } return true; }
@license AGPL License 3.0 or (at your option) any later version http://www.gnu.org/licenses/agpl-3.0-standalone.html @link https://forge.indepnet.net/projects/monitoring/ @since 2011 ------------------------------------------------------------------------ */ include "../../../inc/includes.php"; Session::checkCentralAccess(); Html::header(__('Monitoring', 'monitoring'), $_SERVER["PHP_SELF"], "plugins", "PluginMonitoringDashboard", "dashboard"); $pmDisplay = new PluginMonitoringDisplay(); $pmDisplayview = new PluginMonitoringDisplayview(); $pmDisplayview_item = new PluginMonitoringDisplayview_item(); $pmMessage = new PluginMonitoringMessage(); $pmMessage->getMessages(); $pmDisplay->menu(); $pass = 0; $a_views = $pmDisplayview->getViews(); if (isset($a_views[$_GET['id']])) { $pmDisplayview->getFromDB($_GET['id']); $pass = $pmDisplayview->haveVisibilityAccess(); } if ($pass == 0) { Session::checkRight("plugin_monitoring_displayview", READ); } if (isset($a_views[$_GET['id']])) { $pmDisplayview_item->view($_GET['id']); } else { Html::displayRightError(); } Html::footer();
function show_panel($id, $config) { global $DB, $CFG_GLPI; $pmDisplayview = new PluginMonitoringDisplayview(); $pmDisplayview->getFromDB($id); $queryitems = "SELECT * FROM `glpi_plugin_monitoring_displayviews_items`\n WHERE `plugin_monitoring_displayviews_id`='" . $id . "'"; $resultitems = $DB->query($queryitems); $a_items = array(); while ($dataitems = $DB->fetch_array($resultitems)) { // if ($this->displayItem($dataitems, $config)) { $a_items[] = $dataitems; // } // } } echo "\n <script type=\"text/javascript\">\n \$(function() {\n "; foreach ($a_items as $item) { if ($config == '1') { $event = ", stop: function() {\n pos = \$('#draggable" . $item['id'] . "').position();\n \$.get('" . $CFG_GLPI["root_doc"] . "/plugins/monitoring/ajax/displayview_itemcoordinates.php" . "?id=" . $item['id'] . "&x=' + pos.left + '&y=' + pos.top);\n }"; } else { $event = ''; } $size = $this->getSizeOfWidget($item['itemtype']); echo "\$( \"#draggable" . $item['id'] . "\" ).draggable({ cursor: 'move', cursorAt: { " . "top: " . $size['height'] / 2 . ", left: " . $size['width'] / 2 . ", " . " }, grid: [ 10, 10 ]" . $event . " } );"; } echo "\n });\n </script>"; echo "<div id='viewform' style='width: " . $pmDisplayview->fields['width'] . "px;height:1200px;position: relative;'>"; foreach ($a_items as $item) { $itemtype2 = ''; $size = $this->getSizeOfWidget($item['itemtype']); echo '<div id="draggable' . $item['id'] . '" '; if ($item['itemtype'] != 'PluginMonitoringServicescatalog' && $item['itemtype'] != 'PluginMonitoringComponentscatalog' && $item['itemtype'] != 'PluginMonitoringDisplayview' && $item['itemtype'] != 'host' && !($item['itemtype'] == 'PluginMonitoringWeathermap' && $item['items_id'] == -1)) { echo 'class="ui-widget-content" '; } if ($item['itemtype'] == 'host' || $item['itemtype'] == 'service') { $itemtype2 = $item['itemtype']; $item['itemtype'] = 'PluginMonitoringDisplayview'; } if ($item['itemtype'] == 'PluginMonitoringService') { echo 'style="width: ' . $size['width'] . 'px; height: ' . $size['height'] . 'px; ' . 'position: absolute; left: ' . $item['x'] . 'px; top: ' . $item['y'] . 'px;">'; $pmComponent = new PluginMonitoringComponent(); $pmService = new PluginMonitoringService(); if ($pmService->getFromDB($item['items_id'])) { $pmComponent->getFromDB($pmService->fields['plugin_monitoring_components_id']); $pmServicegraph = new PluginMonitoringServicegraph(); $pmServicegraph->displayGraph($pmComponent->fields['graph_template'], "PluginMonitoringService", $item['items_id'], "0", $item['extra_infos'], "", $size['width'] - 15); } else { $this->delete($item); } } else { if ($item['itemtype'] == 'PluginMonitoringWeathermap') { if ($item['items_id'] == -1) { $title = " : " . __('Legend', 'monitoring'); echo 'style="width: 400px; height: 51px; ' . 'position: absolute; left: ' . $item['x'] . 'px; top: ' . $item['y'] . 'px;">'; } else { $weathermap = new PluginMonitoringWeathermap(); $weathermap->getFromDB($item['items_id']); // $title .= " : ".Dropdown::getDropdownName( // getTableForItemType('PluginMonitoringWeathermap'), $item['items_id']); $width = $weathermap->fields['width'] * $item['extra_infos'] / 100; $height = $weathermap->fields['height'] * $item['extra_infos'] / 100; echo 'style="width: ' . $width . 'px; height: ' . $height . 'px; ' . 'position: absolute; left: ' . $item['x'] . 'px; top: ' . $item['y'] . 'px;">'; } echo '<div id="weathermap-' . $item['items_id'] . '"></div>'; echo "<script type=\"text/javascript\">\n (function worker() {\n \$.get('" . $CFG_GLPI["root_doc"] . "/plugins/monitoring/ajax/widgetWeathermap.php?" . "id=" . $item['items_id'] . "&extra_infos=" . $item['extra_infos'] . "&glpiID=" . $_SESSION['glpiID'] . "', function(data) {\n \$('#weathermap-" . $item['items_id'] . "').html(data);\n setTimeout(worker, 50000);\n });\n })();\n </script>"; } else { if ($item['itemtype'] == "PluginMonitoringDisplayview") { echo 'style="width: ' . $size['width'] . 'px; height: ' . $size['height'] . 'px; ' . 'position: absolute; left: ' . $item['x'] . 'px; top: ' . $item['y'] . 'px;">'; $pmDisplayview = new PluginMonitoringDisplayview(); if (!empty($itemtype2)) { echo "<div id=\"updatedisplayview" . $item['id'] . "\"></div>"; $pmDisplayview->ajaxLoad2($item['id'], $item['is_minemap']); } else { echo "<div id=\"updatedisplayview" . $item['items_id'] . "\"></div>"; $pmDisplayview->ajaxLoad($item['items_id']); } } else { echo 'style="width: ' . $size['width'] . 'px; height: ' . $size['height'] . 'px; ' . 'position: absolute; left: ' . $item['x'] . 'px; top: ' . $item['y'] . 'px;">'; echo "<div id=\"update" . $item['itemtype'] . $item['items_id'] . "\"></div>"; echo "<script type=\"text/javascript\">"; echo "\n (function worker() {\n \$.get('" . $CFG_GLPI["root_doc"] . "/plugins/monitoring/ajax/updateWidgetComponentscatalog.php" . "?id=" . $item['items_id'] . "&is_minemap=" . $item['is_minemap'] . "', function(data) {\n \$('#update" . $item['itemtype'] . $item['items_id'] . "').html(data);\n setTimeout(worker, 30000);\n });\n })();"; echo "</script>"; } } } echo '</div>'; } // echo "<script type='text/javascript'> // // //Simple 'border layout' panel to house both grids // var displayPanel = new Ext.Panel({ // id : 'viewpanel', // width : ".$pmDisplayview->fields['width'].", // height : 1200, // layout: 'absolute', // renderTo : 'panel', // items : [] // }); // // </script>"; echo "</div>"; echo "<script type=\"text/javascript\">\n function reloadview() {\n \$.get('" . $CFG_GLPI["root_doc"] . "/plugins/monitoring/ajax/loadView.php?id=' + \$('#updateviewid').val() + '&config=" . $config . "', function(data) {\n \$('#viewform').html(data);\n });\n }\n </script>"; }
@since 2013 ------------------------------------------------------------------------ */ include "../../../inc/includes.php"; PluginMonitoringProfile::checkRight("view", "w"); Html::header(__('Monitoring', 'monitoring'), $_SERVER["PHP_SELF"], "plugins", "monitoring", "views"); $pmDisplayview_rule = new PluginMonitoringDisplayview_rule(); $pmDisplayview = new PluginMonitoringDisplayview(); if (isset($_GET['updaterule'])) { if (!isset($_GET['contains']) and !isset($_GET['reset'])) { // $_SESSION['plugin_monitoring_rules'] = $_POST; } else { $_POST = $_GET; $input = array(); $pmDisplayview->getFromDB($_POST['plugin_monitoring_displayviews_id']); $input['id'] = $_POST['id']; $input['entities_id'] = $pmDisplayview->fields['entities_id']; $input['is_recursive'] = $pmDisplayview->fields['is_recursive']; $input['name'] = $_POST['name']; $input['itemtype'] = $_POST['itemtype']; $input['plugin_monitoring_displayviews_id'] = $_POST['plugin_monitoring_displayviews_id']; unset($_POST['entities_id']); unset($_POST['is_recursive']); unset($_POST['name']); unset($_POST['updaterule']); unset($_POST['itemtypen']); unset($_POST['plugin_monitoring_displayviews_id']); unset($_POST['id']); $input['condition'] = exportArrayToDB($_POST); $pmDisplayview_rule->update($input);