Example #1
0
 function eventHandler()
 {
     if (isset($_REQUEST['back'][$this->getStep()])) {
         $this->doBack();
     }
     if ($this->getStep() == 1) {
         if (isset($_REQUEST['next'][$this->getStep()])) {
             $this->doNext();
         }
         $this->DISABLE_NEXT_BUTTON = true;
     } elseif ($this->getStep() == 2) {
         $this->setConfig('DB_TYPE', get_request('type', $this->getConfig('DB_TYPE')));
         $this->setConfig('DB_SERVER', get_request('server', $this->getConfig('DB_SERVER', 'localhost')));
         $this->setConfig('DB_PORT', get_request('port', $this->getConfig('DB_PORT', '0')));
         $this->setConfig('DB_DATABASE', get_request('database', $this->getConfig('DB_DATABASE', 'zabbix')));
         $this->setConfig('DB_USER', get_request('user', $this->getConfig('DB_USER', 'root')));
         $this->setConfig('DB_PASSWORD', get_request('password', $this->getConfig('DB_PASSWORD', '')));
         $this->setConfig('DB_SCHEMA', get_request('schema', $this->getConfig('DB_SCHEMA', '')));
         if (isset($_REQUEST['retry'])) {
             if (!$this->checkConnection()) {
                 $this->DISABLE_NEXT_BUTTON = true;
                 unset($_REQUEST['next']);
             }
         } elseif (!isset($_REQUEST['next'][$this->getStep()])) {
             $this->DISABLE_NEXT_BUTTON = true;
             unset($_REQUEST['next']);
         }
         if (isset($_REQUEST['next'][$this->getStep()])) {
             $this->doNext();
         }
     } elseif ($this->getStep() == 3) {
         $this->setConfig('ZBX_SERVER', get_request('zbx_server', $this->getConfig('ZBX_SERVER', 'localhost')));
         $this->setConfig('ZBX_SERVER_PORT', get_request('zbx_server_port', $this->getConfig('ZBX_SERVER_PORT', '10051')));
         $this->setConfig('ZBX_SERVER_NAME', get_request('zbx_server_name', $this->getConfig('ZBX_SERVER_NAME', '')));
         if (isset($_REQUEST['next'][$this->getStep()])) {
             $this->doNext();
         }
     } elseif ($this->getStep() == 4 && isset($_REQUEST['next'][$this->getStep()])) {
         $this->doNext();
     } elseif ($this->getStep() == 5) {
         if (isset($_REQUEST['save_config'])) {
             // make zabbix.conf.php downloadable
             header('Content-Type: application/x-httpd-php');
             header('Content-Disposition: attachment; filename="' . basename(CConfigFile::CONFIG_FILE_PATH) . '"');
             $config = new CConfigFile(Z::getInstance()->getRootDir() . CConfigFile::CONFIG_FILE_PATH);
             $config->config = array('DB' => array('TYPE' => $this->getConfig('DB_TYPE'), 'SERVER' => $this->getConfig('DB_SERVER'), 'PORT' => $this->getConfig('DB_PORT'), 'DATABASE' => $this->getConfig('DB_DATABASE'), 'USER' => $this->getConfig('DB_USER'), 'PASSWORD' => $this->getConfig('DB_PASSWORD'), 'SCHEMA' => $this->getConfig('DB_SCHEMA')), 'ZBX_SERVER' => $this->getConfig('ZBX_SERVER'), 'ZBX_SERVER_PORT' => $this->getConfig('ZBX_SERVER_PORT'), 'ZBX_SERVER_NAME' => $this->getConfig('ZBX_SERVER_NAME'));
             die($config->getString());
         }
     }
     if (isset($_REQUEST['next'][$this->getStep()])) {
         $this->doNext();
     }
 }
Example #2
0
}
/********** START INITIALIZATION *********/
set_error_handler('zbx_err_handler');
unset($show_setup);
if (defined('ZBX_DENY_GUI_ACCESS')) {
    if (isset($ZBX_GUI_ACCESS_IP_RANGE) && is_array($ZBX_GUI_ACCESS_IP_RANGE)) {
        $user_ip = isset($_SERVER['HTTP_X_FORWARDED_FOR']) && !empty($_SERVER['HTTP_X_FORWARDED_FOR']) ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR'];
        if (!str_in_array($user_ip, $ZBX_GUI_ACCESS_IP_RANGE)) {
            $DENY_GUI = TRUE;
        }
    } else {
        $DENY_GUI = TRUE;
    }
}
if (file_exists($ZBX_CONFIGURATION_FILE) && !isset($_COOKIE['ZBX_CONFIG']) && !isset($DENY_GUI)) {
    $config = new CConfigFile($ZBX_CONFIGURATION_FILE);
    if ($config->load()) {
        $config->makeGlobal();
    } else {
        $show_warning = true;
        define('ZBX_DISTRIBUTED', false);
        define('ZBX_PAGE_NO_AUTHORIZATION', true);
        error($config->error);
    }
    require_once 'include/db.inc.php';
    if (!isset($show_warning)) {
        $error = '';
        if (!DBconnect($error)) {
            $_REQUEST['message'] = $error;
            define('ZBX_DISTRIBUTED', false);
            define('ZBX_PAGE_NO_AUTHORIZATION', true);
Example #3
0
 /**
  * Load zabbix config file.
  */
 protected function loadConfigFile()
 {
     $configFile = $this->getRootDir() . CConfigFile::CONFIG_FILE_PATH;
     $config = new CConfigFile($configFile);
     $this->config = $config->load();
 }
Example #4
0
 function eventHandler()
 {
     if (hasRequest('back') && array_key_exists($this->getStep(), getRequest('back'))) {
         $this->doBack();
     }
     if ($this->getStep() == 1) {
         if (hasRequest('next') && array_key_exists(1, getRequest('next'))) {
             $finalResult = CFrontendSetup::CHECK_OK;
             foreach ($this->frontendSetup->checkRequirements() as $req) {
                 if ($req['result'] > $finalResult) {
                     $finalResult = $req['result'];
                 }
             }
             if ($finalResult == CFrontendSetup::CHECK_FATAL) {
                 $this->STEP_FAILED = true;
                 unset($_REQUEST['next']);
             } else {
                 $this->doNext();
             }
         }
     } elseif ($this->getStep() == 2) {
         $this->setConfig('DB_TYPE', getRequest('type', $this->getConfig('DB_TYPE')));
         $this->setConfig('DB_SERVER', getRequest('server', $this->getConfig('DB_SERVER', 'localhost')));
         $this->setConfig('DB_PORT', getRequest('port', $this->getConfig('DB_PORT', '0')));
         $this->setConfig('DB_DATABASE', getRequest('database', $this->getConfig('DB_DATABASE', 'zabbix')));
         $this->setConfig('DB_USER', getRequest('user', $this->getConfig('DB_USER', 'root')));
         $this->setConfig('DB_PASSWORD', getRequest('password', $this->getConfig('DB_PASSWORD', '')));
         $this->setConfig('DB_SCHEMA', getRequest('schema', $this->getConfig('DB_SCHEMA', '')));
         if (hasRequest('next') && array_key_exists(2, getRequest('next'))) {
             if ($this->checkConnection()) {
                 $this->doNext();
             } else {
                 $this->STEP_FAILED = true;
                 unset($_REQUEST['next']);
             }
         }
     } elseif ($this->getStep() == 3) {
         $this->setConfig('ZBX_SERVER', getRequest('zbx_server', $this->getConfig('ZBX_SERVER', 'localhost')));
         $this->setConfig('ZBX_SERVER_PORT', getRequest('zbx_server_port', $this->getConfig('ZBX_SERVER_PORT', '10051')));
         $this->setConfig('ZBX_SERVER_NAME', getRequest('zbx_server_name', $this->getConfig('ZBX_SERVER_NAME', '')));
         if (hasRequest('next') && array_key_exists(3, getRequest('next'))) {
             $this->doNext();
         }
     } elseif ($this->getStep() == 4) {
         if (hasRequest('next') && array_key_exists(4, getRequest('next'))) {
             $this->doNext();
         }
     } elseif ($this->getStep() == 5) {
         if (hasRequest('save_config')) {
             // make zabbix.conf.php downloadable
             header('Content-Type: application/x-httpd-php');
             header('Content-Disposition: attachment; filename="' . basename(CConfigFile::CONFIG_FILE_PATH) . '"');
             $config = new CConfigFile(Z::getInstance()->getRootDir() . CConfigFile::CONFIG_FILE_PATH);
             $config->config = ['DB' => ['TYPE' => $this->getConfig('DB_TYPE'), 'SERVER' => $this->getConfig('DB_SERVER'), 'PORT' => $this->getConfig('DB_PORT'), 'DATABASE' => $this->getConfig('DB_DATABASE'), 'USER' => $this->getConfig('DB_USER'), 'PASSWORD' => $this->getConfig('DB_PASSWORD'), 'SCHEMA' => $this->getConfig('DB_SCHEMA')], 'ZBX_SERVER' => $this->getConfig('ZBX_SERVER'), 'ZBX_SERVER_PORT' => $this->getConfig('ZBX_SERVER_PORT'), 'ZBX_SERVER_NAME' => $this->getConfig('ZBX_SERVER_NAME')];
             die($config->getString());
         }
     }
     if (hasRequest('next') && array_key_exists($this->getStep(), getRequest('next'))) {
         $this->doNext();
     }
 }