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á')); $importForm->addInput(new IETWBSwitch('generate'), _('Generovat do konfigurace')); $importForm->addItem(new EaseTWSubmitButton(_('importovat'), 'success', array('title' => _('zahájí import konfigurace')))); $oPage->container->addItem(new EaseTWBPanel(_('Import konfigurace'), 'warning', $importForm)); $oPage->addItem(new IEPageBottom()); $oPage->draw();
#!/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"; }