if ($_POST['users_id'] == 'public') { $_POST['users_id'] = '0'; } else { $_POST['users_id'] = $_SESSION['glpiID']; } } if (isset($_POST["add"])) { $pmDisplayview->add($_POST); Html::back(); } else { if (isset($_POST["update"])) { $pmDisplayview->update($_POST); Html::back(); } else { if (isset($_POST["purge"])) { $pmDisplayview->delete($_POST); $pmDisplayview->redirectToList(); } else { if (isset($_POST["update"])) { $remind->check($_POST["id"], UPDATE); // Right to update the reminder $remind->update($_POST); Event::log($_POST["id"], "reminder", 4, "tools", sprintf(__('%s updates an item'), $_SESSION["glpiname"])); Html::back(); } } } } if (!isset($_GET["id"])) { $_GET["id"] = ""; }
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; }