예제 #1
0
 * @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á'));
예제 #2
0
<?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();
예제 #3
0
 *
 * @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();
예제 #4
0
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'));
예제 #5
0
#!/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";
}