Ejemplo n.º 1
0
 /**
  * Naplní diagram
  */
 function fillUp()
 {
     $host = new IEHost();
     $hosts = $host->getListing(null, false, array('alias', 'address', 'parents', 'notifications_enabled', 'active_checks_enabled', 'passive_checks_enabled', $host->myCreateColumn, $host->myLastModifiedColumn));
     foreach ($hosts as $host => $host_info) {
         $name = $host_info['host_name'];
         if (!$name) {
             continue;
         }
         $alias = $host_info['alias'];
         if (!$alias) {
             $alias = $host_info['host_name'];
         }
         $color = '';
         if ($host_info['active_checks_enabled']) {
             $color = 'lightgreen';
         }
         if ($host_info['passive_checks_enabled']) {
             $color = 'lightblue';
         }
         $this->addNode($name, array('URL' => 'host.php?host_id=' . $host_info['host_id'], 'fontsize' => '10', 'color' => $color, 'height' => '0.2', 'width' => '2.1', 'fixedsize' => false, 'style' => 'filled', 'tooltip' => $host_info['address'], 'label' => $alias));
         if (isset($host_info['host_name'])) {
             if (is_array($host_info['parents'])) {
                 foreach ($host_info['parents'] as $parent_name) {
                     $this->addEdge(array($host_info['host_name'] => $parent_name));
                 }
             }
         }
     }
 }
Ejemplo n.º 2
0
 /**
  * Editor k přidávání členů skupiny
  *
  * @param IEServices $service
  */
 public function __construct($service)
 {
     $hostsAssigned = array();
     parent::__construct();
     $fieldName = $this->getmyKeyColumn();
     $initialContent = new EaseTWBPanel(_('Sledované hosty služby'), 'default');
     $initialContent->setTagCss(array('width' => '100%'));
     if (is_null($service->getMyKey())) {
         $initialContent->addItem(_('Nejprve je potřeba uložit záznam'));
     } else {
         $serviceName = $service->getName();
         $host = new IEHost();
         if (EaseShared::user()->getSettingValue('admin')) {
             $allHosts = $host->getAllFromMySQL(NULL, array($host->myKeyColumn, $host->nameColumn, 'platform', 'register'), null, $host->nameColumn, $host->myKeyColumn);
         } else {
             $allHosts = $host->getListing(null, true, array('platform', 'register'));
         }
         if ($service->getDataValue('host_name')) {
             foreach ($service->getDataValue('host_name') as $hostId => $hostName) {
                 if (isset($allHosts[$hostId])) {
                     $hostsAssigned[$hostId] = $allHosts[$hostId];
                 }
             }
         }
         foreach ($allHosts as $hostID => $hostInfo) {
             if ($hostInfo['register'] != 1) {
                 unset($allHosts[$hostID]);
             }
             if ($hostInfo['platform'] != 'generic' && $hostInfo['platform'] != $service->getDataValue('platform')) {
                 unset($allHosts[$hostID]);
             }
         }
         foreach ($hostsAssigned as $hostID => $hostInfo) {
             unset($allHosts[$hostID]);
         }
         if (count($allHosts)) {
             foreach ($allHosts as $hostID => $hostInfo) {
                 $initialContent->addItem(new EaseTWBButtonDropdown($hostInfo[$host->nameColumn], 'inverse', 'xs', array(new EaseHtmlATag('host.php?host_id=' . $hostID . '&service_id=' . $service->getId(), EaseTWBPart::GlyphIcon('wrench') . ' ' . _('Editace')), new EaseHtmlATag('?addhost=' . $hostInfo[$host->nameColumn] . '&host_id=' . $hostID . '&' . $service->getmyKeyColumn() . '=' . $service->getMyKey() . '&' . $service->nameColumn . '=' . $service->getName(), EaseTWBPart::GlyphIcon('plus') . ' ' . _('Začít sledovat')))));
             }
         }
         if (count($hostsAssigned)) {
             $initialContent->addItem('<br/>');
             foreach ($hostsAssigned as $hostID => $hostInfo) {
                 $initialContent->addItem(new EaseTWBButtonDropdown($hostInfo[$host->nameColumn], 'success', 'xs', array(new EaseHtmlATag('?delhost=' . $hostInfo[$host->nameColumn] . '&amp;host_id=' . $hostID . '&amp;' . $service->getmyKeyColumn() . '=' . $service->getMyKey() . '&amp;' . $service->nameColumn . '=' . $service->getName(), EaseTWBPart::GlyphIcon('remove') . ' ' . _('Přestat sledovat')), new EaseHtmlATag('host.php?host_id=' . $hostID . '&amp;service_id=' . $service->getId(), EaseTWBPart::GlyphIcon('wrench') . ' ' . _('Editace')))));
             }
         }
     }
     $this->addItem($initialContent);
 }
Ejemplo n.º 3
0
 /**
  * Editor k přidávání členů skupiny
  *
  * @param IEHost $host
  */
 public function __construct($host)
 {
     parent::__construct();
     $fieldName = $host->getmyKeyColumn();
     $initialContent = new EaseTWBPanel(_('rodiče hostu'));
     $addparentForm = $initialContent->addItem(new EaseTWBForm('addparent'));
     $addparentForm->addItem(new EaseTWBFormGroup(_('IP nebo Hostname'), new EaseHtmlInputTextTag('newparent')));
     $addparentForm->addItem(new EaseHtmlInputHiddenTag($fieldName, $host->getId()));
     $addparentForm->addItem(new EaseTWSubmitButton(_('Přidat rodiče'), 'success'));
     $initialContent->setTagCss(array('width' => '100%'));
     if (is_null($host->getMyKey())) {
         $initialContent->addItem(_('Nejprve je potřeba uložit záznam'));
     } else {
         $allParents = $host->getListing();
         unset($allParents[$host->getID()]);
         //Nenabízet sám sebe jako rodiče
         foreach ($allParents as $parentID => $parentInfo) {
             if ($parentInfo['register'] != 1) {
                 unset($allParents[$parentID]);
             }
         }
         $parentsAssigned = array();
         foreach ($host->getDataValue('parents') as $parentAssigned) {
             $parentID = EaseShared::myDbLink()->queryToValue('SELECT `' . $host->myKeyColumn . '` FROM ' . $host->myTable . ' WHERE `' . $host->nameColumn . '` = \'' . addSlashes($parentAssigned) . '\'');
             $parentsAssigned[$parentID][$host->nameColumn] = $parentAssigned;
             $parentsAssigned[$parentID][$host->myKeyColumn] = $parentID;
             unset($allParents[$parentID]);
         }
         if (count($allParents)) {
             foreach ($allParents as $parentID => $parentInfo) {
                 $initialContent->addItem($this->parentButton($parentInfo, 'plus', $host));
             }
         }
         if (count($parentsAssigned)) {
             $initialContent->addItem('</br>');
             foreach ($parentsAssigned as $parentID => $parentInfo) {
                 $initialContent->addItem($this->parentButton($parentInfo, 'remove', $host));
             }
         }
     }
     $this->addItem($initialContent);
 }
Ejemplo n.º 4
0
<?php

/**
 * Icinga Editor - titulní strana
 *
 * @package    IcingaEditor
 * @subpackage WebUI
 * @author     Vitex <*****@*****.**>
 * @copyright  2012 Vitex@hippy.cz (G)
 */
require_once 'includes/IEInit.php';
$oPage->onlyForLogged();
$oPage->addItem(new IEPageTop(_('Monitoring')));
$host = new IEHost();
$hosts = $host->getListing(null, false, array('config_hash', 'address', 'parents', 'icon_image', 'contacts', 'contact_groups', $host->myCreateColumn, $host->myLastModifiedColumn));
if (count($hosts)) {
    $oPage->container->addItem(new IEConfigurationsOverview($hosts));
} else {
    $oPage->container->addItem(new EaseTWBLinkButton('wizard-host.php', _('Založte si první sledovaný host'), 'success'));
    $oUser->addStatusMessage(_('Zatím není zaregistrovaný žádný sledovaný host'), 'warning');
}
$oPage->addItem(new IEPageBottom());
$oPage->draw();
Ejemplo n.º 5
0
 /**
  * Add Groups/Hosts into menu
  *
  * @param IEBootstrapMenu $nav
  */
 private function groupsHostsMenu($nav)
 {
     EaseShared::webPage()->addCss('.dropdown-menu { overflow-y: auto } ');
     EaseShared::webPage()->addJavaScript("\$('.dropdown-menu').css('max-height',\$(window).height()-100);", null, true);
     $user = EaseShared::user();
     $host = new IEHost();
     $hosts = $host->getListing(null, null, array('icon_image', 'platform'));
     $hostsNotInGroup = array();
     $hnames = array();
     foreach ($hosts as $hID => $hInfo) {
         $hnames[$hInfo['host_name']] =& $hosts[$hID];
         $hostsNotInGroup[$hInfo['host_name']] = $hInfo;
     }
     $topItems = array('wizard-host.php' => EaseTWBPart::GlyphIcon('forward') . ' ' . _('Průvodce založením hostu'));
     $topItems['wizard-active-host.php'] = EaseTWBPart::GlyphIcon('star') . ' ' . _('Nový aktivní Host');
     $hostgroup = new IEHostgroup();
     $topItems['hostgroup.php'] = EaseTWBPart::GlyphIcon('plus') . ' ' . _('Nová skupina hostů');
     /* ,
        'exthostinfo.php' => _('Rozšířené informace hostů'),
        'hostdependency.php' => _('Závislosti hostů'),
        'hostescalation.php' => _('Eskalace hostů') */
     $pocHostgroup = $hostgroup->getMyRecordsCount();
     $hostGroupMenuItem = array();
     if ($pocHostgroup) {
         //$hostgroups = $hostgroup->myDbLink->queryToArray('SELECT ' . $hostgroup->getmyKeyColumn() . ', hostgroup_name, DatSave FROM ' . $hostgroup->myTable . ' WHERE user_id=' . $user->getUserID(), 'hostgroup_id');
         $hostgroups = $hostgroup->getListing(null, null, array('members'));
         foreach ($hostgroups as $cID => $hgInfo) {
             $hostGroupMenuItem['hostgroup.php?hostgroup_id=' . $hgInfo['hostgroup_id']] = EaseTWBPart::GlyphIcon('cloud') . ' ' . $hgInfo['hostgroup_name'];
             if (count($hgInfo['members'])) {
                 foreach ($hgInfo['members'] as $hgMember) {
                     if ($hgMember == '*') {
                         $image = null;
                     } else {
                         $hInfo =& $hnames[$hgMember];
                         $image = $hInfo['icon_image'];
                         unset($hostsNotInGroup[$hgMember]);
                     }
                     if (!$image) {
                         $image = 'unknown.gif';
                     }
                     if (isset($hInfo) && !is_null($hInfo)) {
                         $hostGroupMenuItem['host.php?host_id=' . $hInfo['host_id']] = '&nbsp;' . new IEHostIcon($hInfo) . ' ' . $hInfo['host_name'] . ' ' . new IEPlatformIcon($hInfo['platform']);
                     }
                 }
             }
         }
         $topItems['hostgroups.php'] = EaseTWBPart::GlyphIcon('list-alt') . ' ' . _('Přehled skupin hostů');
     } else {
         if (count($hostGroupMenuItem)) {
             $hostGroupMenuItem[] = '';
         }
     }
     if (count($hostsNotInGroup)) {
         foreach ($hostsNotInGroup as $menuHost) {
             $hostGroupMenuItem['host.php?host_id=' . $menuHost['host_id']] = '&nbsp;' . new IEHostIcon($menuHost) . ' ' . $menuHost['host_name'] . ' ' . new IEPlatformIcon($menuHost['platform']);
         }
     }
     $topItems['hosts.php'] = EaseTWBPart::GlyphIcon('list') . ' ' . _('Detailní přehled hostů');
     $topItems['map.php'] = EaseTWBPart::GlyphIcon('globe') . ' ' . _('Topologie');
     $nav->addDropDownMenu(_('Hosti'), array_merge($topItems, array('' => ''), $hostGroupMenuItem));
 }
Ejemplo n.º 6
0
 /**
  * Přehodí
  * @param type $swapToID
  * @return boolean
  */
 public function swapTo($swapToID)
 {
     $newService = new IEService($swapToID);
     $thisName = $this->getName();
     $hostsOK = array();
     $hostsErr = array();
     $hostsAssigned = array();
     $host = new IEHost();
     if (EaseShared::user()->getSettingValue('admin')) {
         $allHosts = $host->getAllFromMySQL(NULL, array($host->myKeyColumn, $host->nameColumn, 'platform', 'register'), null, $host->nameColumn, $host->myKeyColumn);
     } else {
         $allHosts = $host->getListing(null, true, array('platform', 'register'));
     }
     $hosts = $this->getDataValue('host_name');
     foreach ($hosts as $hostId => $hostName) {
         if (isset($allHosts[$hostId])) {
             $hostsAssigned[$hostId] = $allHosts[$hostId];
         }
     }
     foreach ($hostsAssigned as $host_id => $hostAssigned) {
         if ($this->delMember('host_name', $host_id, $hostAssigned['host_name']) && $newService->addMember('host_name', $host_id, $hostAssigned['host_name'])) {
             $hostsOK[] = $hostAssigned['host_name'];
         } else {
             $hostsErr[] = $hostAssigned['host_name'];
         }
     }
     if ($this->saveToMySQL() && $newService->saveToMySQL() && count($hostsOK)) {
         $this->addStatusMessage(sprintf(_('%s byl přesunut z %s/%s do %s'), implode(',', $hostsOK), $this->keyword, $this->getName(), $newService->getName()), 'success');
         return true;
     } else {
         $this->addStatusMessage(sprintf(_(' %s nebyl přesunut z %s/%s do %s'), implode(',', $hostsErr), $this->keyword, $this->getName(), $newService->getName()), 'warning');
         return false;
     }
 }
Ejemplo n.º 7
0
    }
    if ($oPage->getRequestValue('service')) {
        EaseShared::db()->exeQuery('DELETE FROM `service` WHERE register=1');
        $oPage->addStatusMessage(_('Služby odstraněny'), 'success');
    }
    if ($oPage->getRequestValue('servicegroup')) {
        EaseShared::db()->exeQuery('TRUNCATE TABLE `servicegroup`');
        $oPage->addStatusMessage(_('Skupiny služeb byly odstraněny'), 'success');
    }
    if ($oPage->getRequestValue('desync')) {
        EaseShared::db()->exeQuery('UPDATE `host` SET config_hash = 0');
        $oPage->addStatusMessage(_('Stavy senzorů byly rozhasheny'), 'success');
    }
    if ($oPage->getRequestValue('sync')) {
        $host = new IEHost();
        $allHosts = $host->getListing();
        foreach ($allHosts as $hostId => $hostInfo) {
            $host->dataReset();
            $host->loadFromMySQL((int) $hostId);
            $host->setDataValue('config_hash', $host->getConfigHash());
            $host->saveToMySQL();
        }
        $oPage->addStatusMessage(sprintf(_('Stavy %s senzorů byly nastaveny'), count($allHosts)), 'success');
    }
}
$oPage->addItem(new IEPageTop(_('Reset objekt')));
$resetForm = new EaseTWBForm('reset');
$resetForm->addInput(new IEYesNoSwitch('host', FALSE), _('Hosti'), null, _('Smaže hosty, ale nechá předlohy'));
$resetForm->addInput(new IEYesNoSwitch('hostgroup', FALSE), _('Skupiny hostů'), null, _('Smaže skupiny hostů'));
$resetForm->addInput(new IEYesNoSwitch('contact', FALSE), _('Kontakty'), null, _('Smaže kontakty'));
$resetForm->addInput(new IEYesNoSwitch('contactgroup', FALSE), _('Skupiny kontaktů'), null, _('Smaže skupiny kontaktů'));