function sendRestartArbiter($force = 0, $tag = 0, $command = 'reload') { $pmTag = new PluginMonitoringTag(); $pmLog = new PluginMonitoringLog(); if (!$pmLog->isRestartLessThanFiveMinutes() || $force) { if ($tag > 0) { $pmTag->getFromDB($tag); $url = 'http://' . $pmTag->fields['ip'] . ':' . $pmTag->fields['port'] . '/'; $auth = $pmTag->getAuth($pmTag->fields['tag']); if ($this->sendCommand($url, $command, array(), '', $auth)) { $input = array(); $input['user_name'] = $_SESSION['glpifirstname'] . ' ' . $_SESSION['glpirealname'] . ' (' . $_SESSION['glpiname'] . ')'; $input['action'] = $command . "_planned"; $input['date_mod'] = date("Y-m-d H:i:s"); $input['value'] = $pmTag->fields['tag']; $pmLog->add($input); } } else { $a_tagsBrut = $pmTag->find(); $a_tags = array(); foreach ($a_tagsBrut as $data) { if (!isset($a_tags[$data['ip'] . ':' . $data['port']])) { $a_tags[$data['ip'] . ':' . $data['port']] = $data; } } foreach ($a_tags as $data) { // TODO : should be parameters ... Shinken arbiter may use another port and may use HTTPS ! $url = 'http://' . $data['ip'] . ':' . $data['port'] . '/'; $auth = $pmTag->getAuth($data['tag']); if ($this->sendCommand($url, $command, array(), '', $auth)) { $input = array(); $input['user_name'] = $_SESSION['glpifirstname'] . ' ' . $_SESSION['glpirealname'] . ' (' . $_SESSION['glpiname'] . ')'; $input['action'] = $command . "_planned"; $input['date_mod'] = date("Y-m-d H:i:s"); $input['value'] = $data['tag']; $pmLog->add($input); } } } } }
@since 2013 ------------------------------------------------------------------------ */ include "../../../inc/includes.php"; Session::checkRight("plugin_monitoring_tag", READ); Html::header(__('Monitoring', 'monitoring'), $_SERVER["PHP_SELF"], "plugins", "PluginMonitoringDashboard", "tag"); $pmTag = new PluginMonitoringTag(); if (isset($_POST["add"])) { $pmTag->add($_POST); Html::back(); } else { if (isset($_POST["update"])) { $pmTag->update($_POST); Html::back(); } else { if (isset($_POST["purge"])) { $pmTag->getFromDB($_POST['id']); if ($pmTag->fields['tag'] != '') { $pmTag->delete($_POST); $pmTag->redirectToList(); } Html::back(); } } } if (!isset($_GET["id"])) { $_GET["id"] = ""; } $pmTag->display(array('id' => $_GET["id"])); Html::footer();