* @copyright 2012-2015 Vitex@hippy.cz (G) */ require_once 'includes/IEInit.php'; require_once 'classes/IEImporter.php'; $oPage->onlyForLogged(); if ($oPage->isPosted()) { $params = array(); $public = $oPage->getRequestValue('public'); if ($public) { $params['public'] = true; } $generate = $oPage->getRequestValue('generate'); if ($public) { $params['generate'] = true; } $importer = new IEImporter($params); $cfgText = $oPage->getRequestValue('cfgtext'); if ($cfgText) { $importer->importCfgText($cfgText, $params); } if (isset($_FILES['cfgfile']['tmp_name']) && strlen(trim($_FILES['cfgfile']['tmp_name']))) { $importer->importCfgFile($_FILES['cfgfile']['tmp_name']); } } else { $oPage->addStatusMessage(_('Zadejte konfigurační fragment příkazu, nebo zvolte soubor k importu')); } $oPage->addItem(new IEPageTop(_('Import konfigurace'))); $importForm = new EaseTWBForm('CfgFileUp', null, 'POST', null, array('class' => 'form-horizontal', 'enctype' => 'multipart/form-data')); $importForm->addInput(new EaseHtmlTextareaTag('cfgtext', ''), _('konfigurační fragment')); $importForm->addInput(new EaseHtmlInputFileTag('cfgfile'), _('konfigurační soubor')); $importForm->addInput(new IETWBSwitch('public'), _('Importovat data jako veřejná'));
<?php /** * Icinga Editor - hlavní strana * * @package IcingaEditor * @subpackage WebUI * @author Vitex <*****@*****.**> * @copyright 2012 Vitex@hippy.cz (G) */ require_once 'includes/IEInit.php'; require_once 'classes/IEImporter.php'; $oPage->onlyForLogged(); $oPage->addItem(new IEPageTop(_('Icinga Editor - znovuvytvoření struktury databáze'))); $oPage->addPageColumns(); if ($oPage->getRequestValue('dbinit')) { $importer = new IEImporter(); $importer->dbInit(); $oPage->columnII->addItem(new EaseTWBLinkButton('wizard.php', _('vytvořit konfiguraci'))); $oPage->columnIII->addItem(new EaseTWBLinkButton('import.php', _('importovat konfiguraci'))); } else { $importForm = new EaseHtmlForm('ImportForm'); $oUser->addStatusMessage(_('Tato akce nevratně smaže veškerou konfiguraci. Opravdu to chcete udělat ?')); $importForm->addItem(new EaseLabeledCheckbox('dbinit', null, _('Vím co dělám'))); $importForm->addItem(new EaseJQuerySubmitButton('submit', _('Budiž!'))); $oPage->columnII->addItem(new EaseHtmlFieldSet(_('Znovu vytvořit strukturu databáze'), $importForm)); } $oPage->addItem(new IEPageBottom()); $oPage->draw();
* * @package IcingaEditor * @subpackage WebUI * @author Vitex <*****@*****.**> * @copyright 2012 Vitex@hippy.cz (G) */ require_once 'includes/IEInit.php'; require_once 'IEImporter.php'; $oPage->onlyForLogged(); $oPage->addItem(new IEPageTop(_('Icinga Editor - iniciace databáze'))); $oPage->addPageColumns(); if ($oPage->isPosted()) { $params = array('generate' => true); $public = $oPage->getRequestValue('public'); if ($public) { $params['public'] = true; } $importer = new IEImporter($params); if ($oPage->getRequestValue('dbinit') == 'on') { $importer->dbInit(); } $importer->importCfg($oPage->getRequestValue('maincfg')); } $oPage->addItem(new IEPageBottom()); $importForm = new EaseHtmlForm('ImportForm'); $importForm->addItem(new EaseLabeledTextInput('maincfg', constant('CFG_DIRECTORY') . 'icinga.cfg', _('hlavní soubor konfigurace'))); $importForm->addItem(new EaseLabeledCheckbox('dbinit', null, _('Znovu vytvořit strukturu databáze'))); $importForm->addItem('<br clear="all">'); $importForm->addItem(new EaseJQuerySubmitButton('submit', _('importovat'), _('Spustí proces importu'))); $oPage->columnII->addItem(new EaseHtmlFieldSet(_('parametry inicializace'), $importForm)); $oPage->draw();
if ($oUser->getSettingValue('admin')) { $forceUserID = $oPage->getRequestValue('force_user_id', 'int'); if (!is_null($forceUserID)) { $originalUserID = $oUser->getUserID(); EaseShared::user(new EaseUser($forceUserID)); } } $fileName = $oUser->getUserLogin() . '.cfg'; $cfg = fopen(constant('CFG_GENERATED') . '/' . $fileName, 'w'); if ($cfg) { fclose($cfg); $oUser->addStatusMessage(sprintf(_('konfigurační soubor %s byl znovu vytvořen'), $fileName), 'success'); } else { $oUser->addStatusMessage(sprintf(_('konfigurační soubor %s nebyl znovu vytvořen'), $fileName), 'warning'); } $generator = new IEImporter(); $generator->writeConfigs($fileName); $testing = popen("sudo /usr/sbin/icinga -v /etc/icinga/icinga.cfg", 'r'); if ($testing) { $errorCount = 0; $line_num = 0; $WarningCount = null; while (!feof($testing)) { $line = fgets($testing); $line = preg_replace("/\\'([a-zA-Z0-9\\.]*)\\'/", '<a href="search.php?search=$1">$1</a>', $line); $line_num++; if ($line === false && $line_num == 1) { $errorLine = $oPage->container->addItem(new EaseHtmlDivTag(null, '<span class="label label-important">' . _('Chyba:') . '</span>', array('class' => 'alert alert-danger'))); $oUser->addStatusMessage(_('Kontrola konfigurace nevrátila výsledek.'), 'error'); $errorLine->addItem(_('Zkontroluj prosím zdlali nechybí potřebný fragment v /etc/sudoers:')); $errorLine->addItem(new EaseHtmlDivTag(null, 'User_Alias APACHE = www-data'));
#!/usr/bin/env php <?php /** * Import konfigurace ze souboru * * @package IcingaEditor * @subpackage WebUI * @author Vitex <*****@*****.**> * @copyright 2015 Vitex@hippy.cz (G) */ chdir('/usr/share/icinga-editor'); require_once 'includes/IEInit.php'; require_once 'classes/IEImporter.php'; $params = array('public' => true, 'generate' => true); $importer = new IEImporter($params); $importer->importCfgFile('/etc/icinga/icinga.cfg'); foreach ($importer->files as $cfgFile) { if ($cfgFile == '/etc/icinga/icinga.cfg') { continue; } if (unlink($cfgFile)) { echo $cfgFile . " X\n"; } } foreach ($oPage->getStatusMessages() as $type => $message) { echo "{$type}: {$message} \n"; }