示例#1
0
   static function displayTabContentForItem(CommonGLPI $item, $tabnum=1, $withtemplate=0) {

      if ($item->getType() == 'PluginMonitoringSlider') {
         switch($tabnum) {

            case 1:
               $pmSlider_item = new PluginMonitoringSlider_item();
               $pmSlider_item->view($item->getID(), 1);
               break;

            case 2 :
               $item->showVisibility();
               break;

         }
      } else if ($item->getType() == 'Central') {
         if (Session::haveRight("plugin_monitoring_slider", PluginMonitoringSlider::HOMEPAGE)) {
            $pmSlider_item = new PluginMonitoringSlider_item();
            $pmSlider = new PluginMonitoringSlider();
            $a_sliders = $pmSlider->getSliders(1);
            foreach ($a_sliders as $sliders_id=>$name) {
               $pmSlider->getFromDB($sliders_id);
               if ($pmSlider->haveVisibilityAccess()) {
                  $pmSlider_item->view($sliders_id);
              }
            }
         }
      }

      return true;
   }
 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));
     }
 }
  @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     2014

  ------------------------------------------------------------------------
*/
include "../../../inc/includes.php";
Session::checkRight("plugin_monitoring_slider", READ);
Html::header(__('Monitoring', 'monitoring'), $_SERVER["PHP_SELF"], "plugins", "PluginMonitoringDashboard", "slider");
$pmSlider = new PluginMonitoringSlider();
if (isset($_POST["addvisibility"])) {
    if (isset($_POST["_type"]) && !empty($_POST["_type"]) && isset($_POST["pluginmonitoringsliders_id"]) && $_POST["pluginmonitoringsliders_id"]) {
        $item = NULL;
        switch ($_POST["_type"]) {
            case 'User':
                if (isset($_POST['users_id']) && $_POST['users_id']) {
                    $item = new PluginMonitoringSlider_User();
                }
                break;
            case 'Group':
                if (isset($_POST['groups_id']) && $_POST['groups_id']) {
                    $item = new PluginMonitoringSlider_Group();
                }
                break;
            case 'Profile':
 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')));
 }
 function addItem($sliders_id)
 {
     global $DB, $CFG_GLPI;
     $this->getEmpty();
     $pmSlider = new PluginMonitoringSlider();
     $pmSlider->getFromDB($sliders_id);
     // Manage entity_sons
     $a_entities = array();
     if (!($pmSlider->fields['entities_id'] < 0)) {
         if ($pmSlider->fields['is_recursive'] == '0') {
             $a_entities[$pmSlider->fields['entities_id']] = $pmSlider->fields['entities_id'];
         } else {
             $a_entities = getSonsOf('glpi_entities', $pmSlider->fields['entities_id']);
         }
     }
     $options = array();
     $this->showFormHeader($options);
     echo "<tr class='tab_bg_1'>";
     echo "<td>";
     echo "<input type='hidden' name='plugin_monitoring_sliders_id' value='" . $sliders_id . "' />";
     echo __('Element to display', 'monitoring') . " :</td>";
     echo "<td>";
     $elements = array();
     $elements['NULL'] = Dropdown::EMPTY_VALUE;
     $elements['PluginMonitoringDisplayview'] = __('Views', 'monitoring');
     $elements['PluginMonitoringServicescatalog'] = PluginMonitoringServicescatalog::getTypeName();
     $elements['PluginMonitoringService'] = __('Resources (graph)', 'monitoring');
     $elements['PluginMonitoringComponentscatalog'] = __('Components catalog', 'monitoring');
     $elements['PluginMonitoringWeathermap'] = __('Weathermap', 'monitoring');
     $elements['PluginMonitoringCustomitem_Gauge'] = PluginMonitoringCustomitem_Gauge::getTypeName();
     $elements['PluginMonitoringCustomitem_Counter'] = PluginMonitoringCustomitem_Counter::getTypeName();
     if (in_array('maps', $_SESSION['glpi_plugins'])) {
         $elements['PluginMapsMap'] = 'Maps';
     }
     $rand = Dropdown::showFromArray('itemtype', $elements, array('value' => $this->fields['itemtype']));
     $params = array('itemtype' => '__VALUE__', 'sliders_id' => $sliders_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);
     // Show items
     $query = "SELECT * FROM `glpi_plugin_monitoring_sliders_items`\n              WHERE `plugin_monitoring_sliders_id`='" . $sliders_id . "'";
     $result = $DB->query($query);
     echo "<table class='tab_cadre' width='600'>";
     echo "<tr class='tab_bg_1'>";
     echo "<th colspan='3'>";
     echo _n('Associated item', 'Associated items', 2);
     echo "</th>";
     echo "</tr>";
     while ($data = $DB->fetch_array($result)) {
         echo "<tr class='tab_bg_1'>";
         echo "<td>";
         $itemtype = $data['itemtype'];
         $item = new $itemtype();
         echo $item->getTypeName();
         echo "</td>";
         echo "<td>";
         $item->getFromDB($data['items_id']);
         echo $item->getLink();
         echo "</td>";
         echo "<td>";
         echo "<form name='form' method='post' action='" . $this->getFormURL() . "' >";
         echo "<input type='hidden' name='id' value='" . $data['id'] . "'>";
         echo "<input type='submit' name='delete' value=\"" . _sx('button', 'Delete permanently') . "\"\n                class='submit' " . Html::addConfirmationOnAction(__('Confirm the final deletion?')) . ">";
         Html::closeForm();
         echo "</td>";
         echo "</tr>";
     }
     echo "</table>";
     return true;
 }
  @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     2014

  ------------------------------------------------------------------------
*/
include "../../../inc/includes.php";
Session::checkCentralAccess();
Html::header(__('Monitoring', 'monitoring'), $_SERVER["PHP_SELF"], "plugins", "monitoring", "display");
$pmDisplay = new PluginMonitoringDisplay();
$pmSlider = new PluginMonitoringSlider();
$pmMessage = new PluginMonitoringMessage();
$pmMessage->getMessages();
$pmDisplay->menu();
$pass = 0;
$a_sliders = $pmSlider->getSliders();
if (isset($a_views[$_GET['id']])) {
    $pmSlider->getFromDB($_GET['id']);
    $pass = $pmSlider->haveVisibilityAccess();
}
if ($pass == 0) {
    Session::checkRight("plugin_monitoring_slider", READ);
}
if (isset($a_sliders[$_GET['id']])) {
    $pmSlider->slideSlider($_GET['id']);
} else {