Esempio n. 1
0
  ------------------------------------------------------------------------

  @package   Plugin Monitoring for GLPI
  @author    David Durieux
  @co-author 
  @comment   
  @copyright Copyright (c) 2011-2013 Plugin Monitoring for GLPI team
  @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";
Html::popHeader("weathermap");
PluginMonitoringProfile::checkRight("weathermap", "r");
if (!isset($_GET['id'])) {
    exit;
}
$id = $_GET['id'];
$pmWeathermap = new PluginMonitoringWeathermap();
$pmWeathermap->generateWeathermap($id);
echo '<div id="custom_date" style="display:none"></div>';
echo '<div id="custom_time" style="display:none"></div>';
//$pmWeathermap->generateAllGraphs($id);
$html = file_get_contents(GLPI_PLUGIN_DOC_DIR . "/monitoring/weathermap-" . $id . ".html");
$html = str_replace(GLPI_PLUGIN_DOC_DIR . "/monitoring/weathermap-" . $id . ".png", $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/send.php?file=weathermap-" . $id . ".png", $html);
PluginMonitoringServicegraph::loadLib();
echo $html;
echo '<meta http-equiv ="refresh" content="150">';
Esempio n. 2
0
  Plugin Monitoring for GLPI is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  GNU Affero General Public License for more details.

  You should have received a copy of the GNU Affero General Public License
  along with Monitoring. If not, see <http://www.gnu.org/licenses/>.

  ------------------------------------------------------------------------

  @package   Plugin Monitoring for GLPI
  @author    David Durieux
  @co-author 
  @comment   
  @copyright Copyright (c) 2011-2013 Plugin Monitoring for GLPI team
  @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     2012

  ------------------------------------------------------------------------
*/
include "../../../inc/includes.php";
header("Content-Type: text/html; charset=UTF-8");
Html::header_nocache();
if (!isset($_POST["id"]) or !isset($_POST['extra_infos'])) {
    exit;
}
$pmWeathermap = new PluginMonitoringWeathermap();
$map = $pmWeathermap->showWidget($_POST["id"], $_POST['extra_infos']);
echo $map;
  ------------------------------------------------------------------------
*/
if (strpos($_SERVER['PHP_SELF'], "widgetWeathermap.php")) {
    include "../../../inc/includes.php";
    header("Content-Type: text/html; charset=UTF-8");
    Html::header_nocache();
}
session_write_close();
if (!defined('GLPI_ROOT')) {
    die("Can not acces directly to this file");
}
if (!isset($_GET["id"]) or !isset($_GET['extra_infos'])) {
    exit;
}
$pmWeathermap = new PluginMonitoringWeathermap();
$pmWeathermap->getFromDB($_GET['id']);
echo "<center>";
if ($_GET["id"] == -1) {
    echo "<table width='100%' class='tab_cadre'>";
} else {
    echo "<table width='100%'>";
}
echo "<tr>";
echo "<th>";
if ($_GET["id"] == -1) {
    echo __('Weathermap legend', 'monitoring');
} else {
    echo $pmWeathermap->getName();
    if ($_GET['extra_infos'] < 100) {
        echo " <a href='" . $CFG_GLPI['root_doc'] . "/plugins/monitoring/front/weathermap_full.php?id=" . $_GET["id"] . "' target='_blank'>(" . __('full 100%', 'monitoring') . ")</a>";
*/
define('GLPI_ROOT', '../../..');
include GLPI_ROOT . "/inc/includes.php";
header("Content-Type: text/html; charset=UTF-8");
header_nocache();
if (!isset($_POST["id"])) {
    exit;
}
if (!isset($_POST["sort"])) {
    $_POST["sort"] = "";
}
if (!isset($_POST["order"])) {
    $_POST["order"] = "";
}
if (!isset($_POST["withtemplate"])) {
    $_POST["withtemplate"] = "";
}
$pmWeathermap = new PluginMonitoringWeathermap();
if ($_POST["id"] > 0 && $pmWeathermap->can($_POST["id"], 'r')) {
    switch ($_POST['glpi_tab']) {
        case -1:
            break;
        case 1:
            break;
        case 2:
            $pmWeathermap->configureNodesLinks($_POST['id']);
            break;
        default:
    }
}
ajaxFooter();
 static function getAdditionalMenuOptions()
 {
     global $CFG_GLPI;
     $main_menu = '<img src="' . $CFG_GLPI["root_doc"] . '/plugins/monitoring/pics/main_menu.png" alt="' . __('Main menu', 'monitoring') . '" title="' . __('Main menu', 'monitoring') . '"\\>';
     return array('componentscatalog' => array('title' => PluginMonitoringComponentscatalog::getTypeName(), 'page' => PluginMonitoringComponentscatalog::getSearchURL(false), 'links' => array($main_menu => '/plugins/monitoring/front/menu.php', 'search' => '/plugins/monitoring/front/componentscatalog.php', 'add' => '/plugins/monitoring/front/componentscatalog.form.php')), 'command' => array('title' => PluginMonitoringCommand::getTypeName(), 'page' => PluginMonitoringCommand::getSearchURL(false), 'links' => array($main_menu => '/plugins/monitoring/front/menu.php', 'search' => '/plugins/monitoring/front/command.php', 'add' => '/plugins/monitoring/front/command.form.php')), 'check' => array('title' => PluginMonitoringCheck::getTypeName(), 'page' => PluginMonitoringCheck::getSearchURL(false), 'links' => array($main_menu => '/plugins/monitoring/front/menu.php', 'search' => '/plugins/monitoring/front/check.php', 'add' => '/plugins/monitoring/front/check.form.php')), 'eventhandler' => array('title' => PluginMonitoringEventhandler::getTypeName(), 'page' => PluginMonitoringEventhandler::getSearchURL(false), 'links' => array($main_menu => '/plugins/monitoring/front/menu.php', 'search' => '/plugins/monitoring/front/eventhandler.php', 'add' => '/plugins/monitoring/front/eventhandler.form.php')), 'perfdata' => array('title' => PluginMonitoringPerfdata::getTypeName(), 'page' => PluginMonitoringPerfdata::getSearchURL(false), 'links' => array($main_menu => '/plugins/monitoring/front/menu.php', 'search' => '/plugins/monitoring/front/perfdata.php', 'add' => '/plugins/monitoring/front/perfdata.form.php')), 'component' => array('title' => PluginMonitoringComponent::getTypeName(), 'page' => PluginMonitoringComponent::getSearchURL(false), 'links' => array($main_menu => '/plugins/monitoring/front/menu.php', 'search' => '/plugins/monitoring/front/component.php', 'add' => '/plugins/monitoring/front/component.form.php')), 'contacttemplate' => array('title' => PluginMonitoringContacttemplate::getTypeName(), 'page' => PluginMonitoringContacttemplate::getSearchURL(false), 'links' => array($main_menu => '/plugins/monitoring/front/menu.php', 'search' => '/plugins/monitoring/front/contacttemplate.php', 'add' => '/plugins/monitoring/front/contacttemplate.form.php')), 'notificationcommand' => array('title' => PluginMonitoringNotificationcommand::getTypeName(), 'page' => PluginMonitoringNotificationcommand::getSearchURL(false), 'links' => array($main_menu => '/plugins/monitoring/front/menu.php', 'search' => '/plugins/monitoring/front/notificationcommand.php', 'add' => '/plugins/monitoring/front/notificationcommand.form.php')), 'realm' => array('title' => PluginMonitoringRealm::getTypeName(), 'page' => PluginMonitoringRealm::getSearchURL(false), 'links' => array($main_menu => '/plugins/monitoring/front/menu.php', 'search' => '/plugins/monitoring/front/realm.php', 'add' => '/plugins/monitoring/front/realm.form.php')), 'tag' => array('title' => PluginMonitoringTag::getTypeName(), 'page' => PluginMonitoringTag::getSearchURL(false), 'links' => array($main_menu => '/plugins/monitoring/front/menu.php', 'search' => '/plugins/monitoring/front/tag.php')), 'servicescatalog' => array('title' => PluginMonitoringServicescatalog::getTypeName(), 'page' => PluginMonitoringServicescatalog::getSearchURL(false), 'links' => array($main_menu => '/plugins/monitoring/front/menu.php', 'search' => '/plugins/monitoring/front/servicescatalog.php', 'add' => '/plugins/monitoring/front/servicescatalog.form.php')), 'weathermap' => array('title' => PluginMonitoringWeathermap::getTypeName(), 'page' => PluginMonitoringWeathermap::getSearchURL(false), 'links' => array($main_menu => '/plugins/monitoring/front/menu.php', 'search' => '/plugins/monitoring/front/weathermap.php', 'add' => '/plugins/monitoring/front/weathermap.form.php')), 'displayview' => array('title' => PluginMonitoringDisplayview::getTypeName(), 'page' => PluginMonitoringDisplayview::getSearchURL(false), 'links' => array('search' => '/plugins/monitoring/front/displayview.php', 'add' => '/plugins/monitoring/front/displayview.form.php')), 'slider' => array('title' => PluginMonitoringSlider::getTypeName(), 'page' => PluginMonitoringSlider::getSearchURL(false), 'links' => array($main_menu => '/plugins/monitoring/front/menu.php', 'search' => '/plugins/monitoring/front/slider.php', 'add' => '/plugins/monitoring/front/slider.form.php')), 'downtime' => array('title' => PluginMonitoringDowntime::getTypeName(), 'page' => PluginMonitoringDowntime::getSearchURL(false), 'links' => array('search' => '/plugins/monitoring/front/downtime.php')), 'acknowledge' => array('title' => PluginMonitoringAcknowledge::getTypeName(), 'page' => PluginMonitoringAcknowledge::getSearchURL(false), 'links' => array('search' => '/plugins/monitoring/front/acknowledge.php')), 'menu' => array('title' => PluginMonitoringMenu::getTypeName(), 'links' => array($main_menu => '/plugins/monitoring/front/menu.php', 'config' => '/plugins/monitoring/front/config.form.php')), 'dashboard' => array('title' => PluginMonitoringDisplay::getTypeName(), 'links' => array($main_menu => '/plugins/monitoring/front/menu.php', 'config' => '/plugins/monitoring/front/config.form.php')), 'config' => array('title' => PluginMonitoringConfig::getTypeName(), 'links' => array($main_menu => '/plugins/monitoring/front/menu.php')));
 }
  @author    David Durieux
  @co-author 
  @comment   
  @copyright Copyright (c) 2011-2012 Plugin Monitoring for GLPI team
  @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

  ------------------------------------------------------------------------
*/
define('GLPI_ROOT', '../../..');
include GLPI_ROOT . "/inc/includes.php";
PluginMonitoringProfile::checkRight("weathermap", "w");
commonHeader($LANG['plugin_monitoring']['title'][0], $_SERVER["PHP_SELF"], "plugins", "monitoring", "weathermap");
$pmWeathermap = new PluginMonitoringWeathermap();
//print_r($_POST);exit;
if (isset($_POST['deletepic_x'])) {
    // Delete picture
    $input = array();
    $input['id'] = $_POST['id'];
    $input['background'] = '';
    $pmWeathermap->update($input);
    glpi_header($_SERVER['HTTP_REFERER']);
} else {
    if (isset($_POST["add"])) {
        $pmWeathermap->add($_POST);
        glpi_header($_SERVER['HTTP_REFERER']);
    } else {
        if (isset($_POST["update"])) {
            $pmWeathermap->update($_POST);
 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>";
 }
  @package   Plugin Monitoring for GLPI
  @author    David Durieux
  @co-author
  @comment
  @copyright Copyright (c) 2011-2014 Plugin Monitoring for GLPI team
  @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::checkRight("plugin_monitoring_weathermap", READ);
Html::header(__('Monitoring', 'monitoring'), $_SERVER["PHP_SELF"], "plugins", "PluginMonitoringDashboard", "weathermap");
$pmWeathermap = new PluginMonitoringWeathermap();
//print_r($_POST);exit;
if (isset($_POST['deletepic_x'])) {
    // Delete picture
    $input = array();
    $input['id'] = $_POST['id'];
    $input['background'] = '';
    $pmWeathermap->update($input);
    Html::back();
} else {
    if (isset($_POST["add"])) {
        $pmWeathermap->add($_POST);
        Html::back();
    } else {
        if (isset($_POST["update"])) {
            $pmWeathermap->update($_POST);
  You should have received a copy of the GNU Affero General Public License
  along with Monitoring. If not, see <http://www.gnu.org/licenses/>.

  ------------------------------------------------------------------------

  @package   Plugin Monitoring for GLPI
  @author    David Durieux
  @co-author
  @comment
  @copyright Copyright (c) 2011-2014 Plugin Monitoring for GLPI team
  @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";
Html::popHeader("weathermap");
Session::checkRight("plugin_monitoring_weathermap", READ);
if (!isset($_GET['id'])) {
    exit;
}
$id = $_GET['id'];
$pmWeathermap = new PluginMonitoringWeathermap();
echo "<div id='page'>";
PluginMonitoringToolbox::loadLib();
$pmWeathermap->drawMap($id);
echo "</div>";
echo '<meta http-equiv ="refresh" content="150">';