Imported Upstream version 3.4.0

This commit is contained in:
Mario Fetka
2019-04-17 11:40:50 +02:00
parent 8b51dbf723
commit 8948a800bb
236 changed files with 48199 additions and 37546 deletions

View File

@@ -5,129 +5,217 @@
//
///////////////////////////////////////////////////////////////////////////////
//
// (c) 2005-2017 by Martin Willisegger
// (c) 2005-2018 by Martin Willisegger
//
// Project : NagiosQL
// Component : Installer script - check page
// Website : http://www.nagiosql.org
// Date : $LastChangedDate: 2017-06-22 09:29:35 +0200 (Thu, 22 Jun 2017) $
// Author : $LastChangedBy: martin $
// Version : 3.3.0
// Revision : $LastChangedRevision: 2 $
// Website : https://sourceforge.net/projects/nagiosql/
// Version : 3.4.0
// GIT Repo : https://gitlab.com/wizonet/NagiosQL
//
///////////////////////////////////////////////////////////////////////////////
//
// Path settings
// ===================
$strPattern = '(install/[^/]*.php)';
$preRelPath = preg_replace($strPattern, '', filter_input(INPUT_SERVER, 'PHP_SELF', FILTER_SANITIZE_STRING));
$preBasePath = preg_replace($strPattern, '', filter_input(INPUT_SERVER, 'SCRIPT_FILENAME', FILTER_SANITIZE_STRING));
//
// Define common variables
// =======================
$preContent = "templates/install.tpl.htm";
$preEncode = 'utf-8';
$preLocale = "../config/locale";
$chkModus = "none";
$preContent = $preBasePath.'install/templates/install.htm.tpl';
$preEncode = 'utf-8';
$preLocale = $preBasePath.'config/locale';
$chkModus = 'none';
//
// Include preprocessing file
// ==========================
require("functions/prepend_install.php");
require $preBasePath.'install/functions/prepend_install.php';
//
// Actual database files
// =====================
$preSqlNewInstall = "sql/nagiosQL_v32_db_mysql.sql";
$preSqlUpdateLast = "sql/update_31x_320.sql";
$preNagiosQL_ver = "3.3.0";
$preSqlNewInstall = $preBasePath.'install/sql/nagiosQL_v34_db_mysql.sql';
$preSqlUpdateLast = $preBasePath.'install/sql/update_320_340.sql';
$preNagiosQL_ver = '3.4.0';
//
// Process initial value
// =====================
if (!isset($_SESSION['init_settings'])) header("Location: index.php");
$strInitDBtype = isset($_SESSION['SETS']['db']['type']) ? $_SESSION['SETS']['db']['type'] : $_SESSION['init_settings']['db']['type'];
$strInitDBserver = isset($_SESSION['SETS']['db']['server']) ? $_SESSION['SETS']['db']['server'] : $_SESSION['init_settings']['db']['server'];
$strInitDBname = isset($_SESSION['SETS']['db']['database']) ? $_SESSION['SETS']['db']['database'] : $_SESSION['init_settings']['db']['database'];
$strInitDBuser = isset($_SESSION['SETS']['db']['username']) ? $_SESSION['SETS']['db']['username'] : $_SESSION['init_settings']['db']['username'];
$strInitDBpass = isset($_SESSION['SETS']['db']['password']) ? $_SESSION['SETS']['db']['password'] : $_SESSION['init_settings']['db']['password'];
$strInitDBport = isset($_SESSION['SETS']['db']['port']) ? $_SESSION['SETS']['db']['port'] : $_SESSION['init_settings']['db']['port'];
if (!isset($_SESSION['init_settings'])) {
header('Location: index.php');
exit;
}
$strInitDBtype = isset($_SESSION['SETS']['db']['type']) ? $_SESSION['SETS']['db']['type']
: $_SESSION['init_settings']['db']['type'];
$strInitDBserver = isset($_SESSION['SETS']['db']['server']) ? $_SESSION['SETS']['db']['server']
: $_SESSION['init_settings']['db']['server'];
$strInitDBname = isset($_SESSION['SETS']['db']['database']) ? $_SESSION['SETS']['db']['database']
: $_SESSION['init_settings']['db']['database'];
$strInitDBuser = isset($_SESSION['SETS']['db']['username']) ? $_SESSION['SETS']['db']['username']
: $_SESSION['init_settings']['db']['username'];
$strInitDBpass = isset($_SESSION['SETS']['db']['password']) ? $_SESSION['SETS']['db']['password']
: $_SESSION['init_settings']['db']['password'];
$strInitDBport = isset($_SESSION['SETS']['db']['port']) ? $_SESSION['SETS']['db']['port']
: $_SESSION['init_settings']['db']['port'];
//
// Init session parameters
// =======================
if (!isset($_SESSION['install']['jscript'])) $_SESSION['install']['jscript'] = "no";
if (!isset($_SESSION['install']['locale'])) $_SESSION['install']['locale'] = "en_GB";
if (!isset($_SESSION['install']['dbtype'])) $_SESSION['install']['dbtype'] = $strInitDBtype;
if (!isset($_SESSION['install']['dbserver'])) $_SESSION['install']['dbserver'] = $strInitDBserver;
if (!isset($_SESSION['install']['localsrv'])) $_SESSION['install']['localsrv'] = "";
if (!isset($_SESSION['install']['dbname'])) $_SESSION['install']['dbname'] = $strInitDBname;
if (!isset($_SESSION['install']['dbuser'])) $_SESSION['install']['dbuser'] = $strInitDBuser;
if (!isset($_SESSION['install']['dbpass'])) $_SESSION['install']['dbpass'] = $strInitDBpass;
if (!isset($_SESSION['install']['admuser'])) $_SESSION['install']['admuser'] = "root";
if (!isset($_SESSION['install']['admpass'])) $_SESSION['install']['admpass'] = "";
if (!isset($_SESSION['install']['qluser'])) $_SESSION['install']['qluser'] = "admin";
if (!isset($_SESSION['install']['qlpass'])) $_SESSION['install']['qlpass'] = "";
if (!isset($_SESSION['install']['dbport'])) $_SESSION['install']['dbport'] = $strInitDBport;
if (!isset($_SESSION['install']['dbdrop'])) $_SESSION['install']['dbdrop'] = 0;
if (!isset($_SESSION['install']['sample'])) $_SESSION['install']['sample'] = 0;
if (!isset($_SESSION['install']['version'])) $_SESSION['install']['version'] = $preNagiosQL_ver;
if (!isset($_SESSION['install']['createpath'])) $_SESSION['install']['createpath'] = 0;
if (!isset($_SESSION['install']['qlpath'])) $_SESSION['install']['qlpath'] = "/etc/nagiosql";
if (!isset($_SESSION['install']['nagpath'])) $_SESSION['install']['nagpath'] = "/etc/nagios";
if (!isset($_SESSION['install']['jscript'])) {
$_SESSION['install']['jscript'] = 'no';
}
if (!isset($_SESSION['install']['locale'])) {
$_SESSION['install']['locale'] = 'en_GB';
}
if (!isset($_SESSION['install']['dbtype'])) {
$_SESSION['install']['dbtype'] = $strInitDBtype;
}
if (!isset($_SESSION['install']['dbserver'])) {
$_SESSION['install']['dbserver'] = $strInitDBserver;
}
if (!isset($_SESSION['install']['localsrv'])) {
$_SESSION['install']['localsrv'] = '';
}
if (!isset($_SESSION['install']['dbname'])) {
$_SESSION['install']['dbname'] = $strInitDBname;
}
if (!isset($_SESSION['install']['dbuser'])) {
$_SESSION['install']['dbuser'] = $strInitDBuser;
}
if (!isset($_SESSION['install']['dbpass'])) {
$_SESSION['install']['dbpass'] = $strInitDBpass;
}
if (!isset($_SESSION['install']['admuser'])) {
$_SESSION['install']['admuser'] = 'root';
}
if (!isset($_SESSION['install']['admpass'])) {
$_SESSION['install']['admpass'] = '';
}
if (!isset($_SESSION['install']['qluser'])) {
$_SESSION['install']['qluser'] = 'admin';
}
if (!isset($_SESSION['install']['qlpass'])) {
$_SESSION['install']['qlpass'] = '';
}
if (!isset($_SESSION['install']['dbport'])) {
$_SESSION['install']['dbport'] = $strInitDBport;
}
if (!isset($_SESSION['install']['dbdrop'])) {
$_SESSION['install']['dbdrop'] = 0;
}
if (!isset($_SESSION['install']['sample'])) {
$_SESSION['install']['sample'] = 0;
}
if (!isset($_SESSION['install']['version'])) {
$_SESSION['install']['version'] = $preNagiosQL_ver;
}
if (!isset($_SESSION['install']['createpath'])) {
$_SESSION['install']['createpath'] = 0;
}
if (!isset($_SESSION['install']['qlpath'])) {
$_SESSION['install']['qlpath'] = '/etc/nagiosql';
}
if (!isset($_SESSION['install']['nagpath'])) {
$_SESSION['install']['nagpath'] = '/etc/nagios';
}
//
// POST parameters
// ===============
$arrStep = array(1,2,3);
$chkStep = (isset($_POST['hidStep']) && in_array($_POST['hidStep'],$arrStep)) ? $_POST['hidStep']+0 : "1";
if (isset($_GET['step']) && in_array($_GET['step'],$arrStep)) $chkStep = $_GET['step']+0;
if (!in_array($chkStep,$arrStep)) $arrStep = 1;
// Session values
$_SESSION['install']['locale'] = isset($_POST['hidLocale']) ? $_POST['hidLocale'] : $_SESSION['install']['locale'];
$_SESSION['install']['jscript'] = isset($_POST['hidJScript']) ? $_POST['hidJScript'] : $_SESSION['install']['jscript'];
$_SESSION['install']['dbtype'] = isset($_POST['selDBtype']) ? $_POST['selDBtype'] : $_SESSION['install']['dbtype'];
$_SESSION['install']['dbserver'] = isset($_POST['tfDBserver']) ? $_POST['tfDBserver'] : $_SESSION['install']['dbserver'];
$_SESSION['install']['localsrv'] = isset($_POST['tfLocalSrv']) ? $_POST['tfLocalSrv'] : $_SESSION['install']['localsrv'];
$_SESSION['install']['dbname'] = isset($_POST['tfDBname']) ? $_POST['tfDBname'] : $_SESSION['install']['dbname'];
$_SESSION['install']['dbuser'] = isset($_POST['tfDBuser']) ? $_POST['tfDBuser'] : $_SESSION['install']['dbuser'];
$_SESSION['install']['dbpass'] = isset($_POST['tfDBpass']) ? $_POST['tfDBpass'] : $_SESSION['install']['dbpass'];
$_SESSION['install']['admuser'] = isset($_POST['tfDBprivUser']) ? $_POST['tfDBprivUser'] : $_SESSION['install']['admuser'];
$_SESSION['install']['admpass'] = isset($_POST['tfDBprivPass']) ? $_POST['tfDBprivPass'] : $_SESSION['install']['admpass'];
$_SESSION['install']['qluser'] = isset($_POST['tfQLuser']) ? $_POST['tfQLuser'] : $_SESSION['install']['qluser'];
$_SESSION['install']['qlpass'] = isset($_POST['tfQLpass']) ? $_POST['tfQLpass'] : $_SESSION['install']['qlpass'];
$_SESSION['install']['dbport'] = isset($_POST['tfDBport']) ? $_POST['tfDBport']+0 : $_SESSION['install']['dbport'];
$_SESSION['install']['dbdrop'] = isset($_POST['chbDrop']) ? $_POST['chbDrop']+0 : 0;
$_SESSION['install']['sample'] = isset($_POST['chbSample']) ? $_POST['chbSample']+0 : 0;
$_SESSION['install']['createpath'] = isset($_POST['chbPath']) ? $_POST['chbPath']+0 : 0;
$_SESSION['install']['qlpath'] = isset($_POST['tfQLpath']) ? $_POST['tfQLpath'] : $_SESSION['install']['qlpath'];
$_SESSION['install']['nagpath'] = isset($_POST['tfNagiosPath']) ? $_POST['tfNagiosPath'] : $_SESSION['install']['nagpath'];
$preSqlNewInstall = str_replace("DBTYPE",$_SESSION['install']['dbtype'],$preSqlNewInstall);
$preSqlNewInstall = str_replace("mysqli","mysql",$preSqlNewInstall);
if (isset($_POST['butNewInstall'])) $chkModus = "Installation";
if (isset($_POST['butUpgrade'])) $chkModus = "Update";
if (!isset($_SESSION['install']['mode'])) $_SESSION['install']['mode'] = $chkModus;
$arrStep = array(1,2,3);
$chkStep = filter_input(INPUT_POST, 'hidStep', FILTER_VALIDATE_INT);
if (!in_array($chkStep, $arrStep, true)) {
$chkStep = 1;
}
$chkStepG = filter_input(INPUT_GET, 'step', FILTER_VALIDATE_INT);
if (($chkStepG != null) && in_array($chkStepG, $arrStep, true)) {
$chkStep = $chkStepG;
}
//
// Set session values
// ==================
$_SESSION['install']['locale'] = (filter_input(INPUT_POST, 'hidLocale') != null) ?
filter_input(INPUT_POST, 'hidLocale', FILTER_SANITIZE_STRING) : $_SESSION['install']['locale'];
$_SESSION['install']['jscript'] = (filter_input(INPUT_POST, 'hidJScript') != null) ?
filter_input(INPUT_POST, 'hidJScript', FILTER_SANITIZE_STRING) : $_SESSION['install']['jscript'];
$_SESSION['install']['dbtype'] = (filter_input(INPUT_POST, 'selDBtype') != null) ?
filter_input(INPUT_POST, 'selDBtype', FILTER_SANITIZE_STRING) : $_SESSION['install']['dbtype'];
$_SESSION['install']['dbserver'] = (filter_input(INPUT_POST, 'tfDBserver') != null) ?
filter_input(INPUT_POST, 'tfDBserver', FILTER_SANITIZE_STRING) : $_SESSION['install']['dbserver'];
$_SESSION['install']['localsrv'] = (filter_input(INPUT_POST, 'tfLocalSrv') != null) ?
filter_input(INPUT_POST, 'tfLocalSrv', FILTER_SANITIZE_STRING) : $_SESSION['install']['localsrv'];
$_SESSION['install']['dbname'] = (filter_input(INPUT_POST, 'tfDBname') != null) ?
filter_input(INPUT_POST, 'tfDBname', FILTER_SANITIZE_STRING) : $_SESSION['install']['dbname'];
$_SESSION['install']['dbuser'] = (filter_input(INPUT_POST, 'tfDBuser') != null) ?
filter_input(INPUT_POST, 'tfDBuser', FILTER_SANITIZE_STRING) : $_SESSION['install']['dbuser'];
$_SESSION['install']['dbpass'] = (filter_input(INPUT_POST, 'tfDBpass') != null) ?
filter_input(INPUT_POST, 'tfDBpass', FILTER_SANITIZE_STRING) : $_SESSION['install']['dbpass'];
$_SESSION['install']['admuser'] = (filter_input(INPUT_POST, 'tfDBprivUser') != null) ?
filter_input(INPUT_POST, 'tfDBprivUser', FILTER_SANITIZE_STRING) : $_SESSION['install']['admuser'];
$_SESSION['install']['admpass'] = (filter_input(INPUT_POST, 'tfDBprivPass') != null) ?
filter_input(INPUT_POST, 'tfDBprivPass', FILTER_SANITIZE_STRING) : $_SESSION['install']['admpass'];
$_SESSION['install']['qluser'] = (filter_input(INPUT_POST, 'tfQLuser') != null) ?
filter_input(INPUT_POST, 'tfQLuser', FILTER_SANITIZE_STRING) : $_SESSION['install']['qluser'];
$_SESSION['install']['qlpass'] = (filter_input(INPUT_POST, 'tfQLpass') != null) ?
filter_input(INPUT_POST, 'tfQLpass', FILTER_SANITIZE_STRING) : $_SESSION['install']['qlpass'];
$_SESSION['install']['qlpath'] = (filter_input(INPUT_POST, 'tfQLpath') != null) ?
filter_input(INPUT_POST, 'tfQLpath', FILTER_SANITIZE_STRING) : $_SESSION['install']['qlpath'];
$_SESSION['install']['nagpath'] = (filter_input(INPUT_POST, 'tfNagiosPath') != null) ?
filter_input(INPUT_POST, 'tfNagiosPath', FILTER_SANITIZE_STRING) : $_SESSION['install']['nagpath'];
$_SESSION['install']['dbdrop'] = filter_input(
INPUT_POST,
'chbDrop',
FILTER_VALIDATE_INT,
array('options' => array('default' => 0))
);
$_SESSION['install']['sample'] = filter_input(
INPUT_POST,
'chbSample',
FILTER_VALIDATE_INT,
array('options' => array('default' => 0))
);
$_SESSION['install']['createpath'] = filter_input(
INPUT_POST,
'chbPath',
FILTER_VALIDATE_INT,
array('options' => array('default' => 0))
);
$strSqlFile = str_replace('DBTYPE', $_SESSION['install']['dbtype'], $preSqlNewInstall);
if (filter_input(INPUT_POST, 'butNewInstall') != null) {
$chkModus = 'Installation';
}
if (filter_input(INPUT_POST, 'butUpgrade') != null) {
$chkModus = 'Update';
}
if (!isset($_SESSION['install']['mode'])) {
$_SESSION['install']['mode'] = $chkModus;
}
//
// Language settings
// =================
if (extension_loaded('gettext')) {
putenv("LC_ALL=".$_SESSION['install']['locale'].$preEncode);
putenv("LANG=".$_SESSION['install']['locale'].$preEncode);
// GETTEXT domain
setlocale(LC_ALL, $_SESSION['install']['locale'].".".$preEncode);
bindtextdomain($_SESSION['install']['locale'], $preLocale);
bind_textdomain_codeset($_SESSION['install']['locale'], $preEncode);
textdomain($_SESSION['install']['locale']);
putenv('LC_ALL=' .$_SESSION['install']['locale'].$preEncode);
putenv('LANG=' .$_SESSION['install']['locale'].$preEncode);
// GETTEXT domain
setlocale(LC_ALL, $_SESSION['install']['locale']. '.' .$preEncode);
bindtextdomain($_SESSION['install']['locale'], $preLocale);
bind_textdomain_codeset($_SESSION['install']['locale'], $preEncode);
textdomain($_SESSION['install']['locale']);
}
$myInstClass->arrSession = $_SESSION;
//
// Content in buffer laden
// =======================
ob_start();
include "step".$chkStep.".php";
$strContent = ob_get_contents();
include 'step' .$chkStep. '.php';
$strContentRaw = ob_get_contents();
ob_end_clean();
//
// Build content
// =============
$arrTemplate['PAGETITLE'] = "[NagiosQL] Installation Wizard";
$arrTemplate['MAIN_TITLE'] = $myInstClass->translate("Welcome to the NagiosQL Installation Wizard");
$arrTemplate['CONTENT'] = $strContent;
$arrTemplate['PAGETITLE'] = '[NagiosQL] Installation Wizard';
$arrTemplate['MAIN_TITLE'] = $myInstClass->translate('Welcome to the NagiosQL Installation Wizard');
$arrTemplate['CONTENT'] = $strContentRaw;
//
// Write content
// =============
$myInstClass->filTemplate = $preContent;
$strContent = $myInstClass->parseTemplate($arrTemplate,$preContent);
$strContent = $myInstClass->parseTemplate($arrTemplate, $preContent);
echo $strContent;
?>