diff --git a/pandora_agents/unix/DEBIAN/control b/pandora_agents/unix/DEBIAN/control
index bf5df0c125..851f8fa7bf 100644
--- a/pandora_agents/unix/DEBIAN/control
+++ b/pandora_agents/unix/DEBIAN/control
@@ -1,5 +1,5 @@
package: pandorafms-agent-unix
-Version: 7.0NG.735-190527
+Version: 7.0NG.735-190528
Architecture: all
Priority: optional
Section: admin
diff --git a/pandora_agents/unix/DEBIAN/make_deb_package.sh b/pandora_agents/unix/DEBIAN/make_deb_package.sh
index 08bb79494c..2a1b599629 100644
--- a/pandora_agents/unix/DEBIAN/make_deb_package.sh
+++ b/pandora_agents/unix/DEBIAN/make_deb_package.sh
@@ -14,7 +14,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-pandora_version="7.0NG.735-190527"
+pandora_version="7.0NG.735-190528"
echo "Test if you has the tools for to make the packages."
whereis dpkg-deb | cut -d":" -f2 | grep dpkg-deb > /dev/null
diff --git a/pandora_agents/unix/pandora_agent b/pandora_agents/unix/pandora_agent
index c134985c2a..268072a564 100755
--- a/pandora_agents/unix/pandora_agent
+++ b/pandora_agents/unix/pandora_agent
@@ -42,7 +42,7 @@ my $Sem = undef;
my $ThreadSem = undef;
use constant AGENT_VERSION => '7.0NG.735';
-use constant AGENT_BUILD => '190527';
+use constant AGENT_BUILD => '190528';
# Agent log default file size maximum and instances
use constant DEFAULT_MAX_LOG_SIZE => 600000;
diff --git a/pandora_agents/unix/pandora_agent.redhat.spec b/pandora_agents/unix/pandora_agent.redhat.spec
index 006f14dec5..df4c6faeb9 100644
--- a/pandora_agents/unix/pandora_agent.redhat.spec
+++ b/pandora_agents/unix/pandora_agent.redhat.spec
@@ -3,7 +3,7 @@
#
%define name pandorafms_agent_unix
%define version 7.0NG.735
-%define release 190527
+%define release 190528
Summary: Pandora FMS Linux agent, PERL version
Name: %{name}
diff --git a/pandora_agents/unix/pandora_agent.spec b/pandora_agents/unix/pandora_agent.spec
index 9570f76a61..61868bc875 100644
--- a/pandora_agents/unix/pandora_agent.spec
+++ b/pandora_agents/unix/pandora_agent.spec
@@ -3,7 +3,7 @@
#
%define name pandorafms_agent_unix
%define version 7.0NG.735
-%define release 190527
+%define release 190528
Summary: Pandora FMS Linux agent, PERL version
Name: %{name}
diff --git a/pandora_agents/unix/pandora_agent_installer b/pandora_agents/unix/pandora_agent_installer
index 09dee41bfc..fd75bc82bb 100755
--- a/pandora_agents/unix/pandora_agent_installer
+++ b/pandora_agents/unix/pandora_agent_installer
@@ -10,7 +10,7 @@
# **********************************************************************
PI_VERSION="7.0NG.735"
-PI_BUILD="190527"
+PI_BUILD="190528"
OS_NAME=`uname -s`
FORCE=0
diff --git a/pandora_agents/win32/installer/pandora.mpi b/pandora_agents/win32/installer/pandora.mpi
index 8ed0a773a6..0c4a323881 100644
--- a/pandora_agents/win32/installer/pandora.mpi
+++ b/pandora_agents/win32/installer/pandora.mpi
@@ -186,7 +186,7 @@ UpgradeApplicationID
{}
Version
-{190527}
+{190528}
ViewReadme
{Yes}
diff --git a/pandora_agents/win32/pandora.cc b/pandora_agents/win32/pandora.cc
index 83f46ffda7..a07bee3f53 100644
--- a/pandora_agents/win32/pandora.cc
+++ b/pandora_agents/win32/pandora.cc
@@ -30,7 +30,7 @@ using namespace Pandora;
using namespace Pandora_Strutils;
#define PATH_SIZE _MAX_PATH+1
-#define PANDORA_VERSION ("7.0NG.735(Build 190527)")
+#define PANDORA_VERSION ("7.0NG.735(Build 190528)")
string pandora_path;
string pandora_dir;
diff --git a/pandora_agents/win32/versioninfo.rc b/pandora_agents/win32/versioninfo.rc
index f7c288faef..951dbc54ed 100644
--- a/pandora_agents/win32/versioninfo.rc
+++ b/pandora_agents/win32/versioninfo.rc
@@ -11,7 +11,7 @@ BEGIN
VALUE "LegalCopyright", "Artica ST"
VALUE "OriginalFilename", "PandoraAgent.exe"
VALUE "ProductName", "Pandora FMS Windows Agent"
- VALUE "ProductVersion", "(7.0NG.735(Build 190527))"
+ VALUE "ProductVersion", "(7.0NG.735(Build 190528))"
VALUE "FileVersion", "1.0.0.0"
END
END
diff --git a/pandora_console/DEBIAN/control b/pandora_console/DEBIAN/control
index f0c00292aa..77518ff5f8 100644
--- a/pandora_console/DEBIAN/control
+++ b/pandora_console/DEBIAN/control
@@ -1,5 +1,5 @@
package: pandorafms-console
-Version: 7.0NG.735-190527
+Version: 7.0NG.735-190528
Architecture: all
Priority: optional
Section: admin
diff --git a/pandora_console/DEBIAN/make_deb_package.sh b/pandora_console/DEBIAN/make_deb_package.sh
index aef18cc75d..8ffdca36b7 100644
--- a/pandora_console/DEBIAN/make_deb_package.sh
+++ b/pandora_console/DEBIAN/make_deb_package.sh
@@ -14,7 +14,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-pandora_version="7.0NG.735-190527"
+pandora_version="7.0NG.735-190528"
package_pear=0
package_pandora=1
diff --git a/pandora_console/include/config_process.php b/pandora_console/include/config_process.php
index e0180374e9..12cbc65c39 100644
--- a/pandora_console/include/config_process.php
+++ b/pandora_console/include/config_process.php
@@ -20,7 +20,7 @@
/**
* Pandora build version and version
*/
-$build_version = 'PC190527';
+$build_version = 'PC190528';
$pandora_version = 'v7.0NG.735';
// Do not overwrite default timezone set if defined.
diff --git a/pandora_console/include/functions_reporting.php b/pandora_console/include/functions_reporting.php
index 735e6f295f..95a974eea3 100755
--- a/pandora_console/include/functions_reporting.php
+++ b/pandora_console/include/functions_reporting.php
@@ -5560,7 +5560,6 @@ function reporting_advanced_sla(
} else if ($agentmodule_info['id_tipo_modulo'] == '100') {
$max_value = 0.9;
$min_value = 0;
- $inverse_interval = 1;
}
}
}
diff --git a/pandora_console/include/styles/pandora.css b/pandora_console/include/styles/pandora.css
index 99e91c98fe..707000b39d 100644
--- a/pandora_console/include/styles/pandora.css
+++ b/pandora_console/include/styles/pandora.css
@@ -3640,14 +3640,15 @@ table.events_show_more_table tr:nth-child(odd) td {
background-color: #ffffff;
}
table.events_show_more_table tr:nth-child(even) td {
- background-color: #f5f5f5;
- border-top: 1px solid #cacaca;
- border-bottom: 1px solid #cacaca;
+ background-color: #f9f9f9;
+ border-top: 1px solid #e0e0e0;
+ border-bottom: 1px solid #e0e0e0;
}
table.events_show_more_table tr td {
- height: 22px;
- padding: 4px;
+ height: 33px;
+ max-height: 33px;
+ min-height: 33px;
}
table.events_show_more_table tr td:first-child {
@@ -5829,7 +5830,7 @@ a#qr_code_agent_view {
.module_graph_menu_content,
.module_graph_menu_header {
- width: 92%;
+ width: 95%;
border: 1px solid #e2e2e2;
margin: 0 auto;
box-sizing: border-box;
diff --git a/pandora_console/install.php b/pandora_console/install.php
new file mode 100644
index 0000000000..fc64097149
--- /dev/null
+++ b/pandora_console/install.php
@@ -0,0 +1,1105 @@
+
+
+
+
+ Pandora FMS - Installation Wizard
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+';
+ echo " $label ";
+ echo ' ';
+ if (!extension_loaded($ext)) {
+ echo " ";
+ return 1;
+ } else {
+ echo " ";
+ return 0;
+ }
+
+ echo ' ';
+}
+
+function check_include($ext, $label)
+{
+ echo '';
+ echo " $label ";
+ echo ' ';
+ if (!include $ext) {
+ echo " ";
+ return 1;
+ } else {
+ echo " ";
+ return 0;
+ }
+
+ echo ' ';
+}
+
+
+function check_exists($file, $label)
+{
+ echo '';
+ echo " $label ";
+ echo ' ';
+ if (!file_exists($file)) {
+ echo " ";
+ return 1;
+ } else {
+ echo " ";
+ return 0;
+ }
+
+ echo ' ';
+}
+
+
+function check_generic($ok, $label)
+{
+ echo "";
+ if ($ok == 0) {
+ echo " ";
+ echo ' ';
+ echo " $label ";
+ echo ' ';
+ echo ' ';
+ return 1;
+ } else {
+ echo " ";
+ echo '';
+ echo " $label ";
+ echo ' ';
+ echo '';
+ return 0;
+ }
+}
+
+
+function check_writable($fullpath, $label)
+{
+ echo "";
+ if (file_exists($fullpath)) {
+ if (is_writable($fullpath)) {
+ echo " ";
+ echo ' ';
+ echo " $label ";
+ echo ' ';
+ echo ' ';
+ return 0;
+ } else {
+ echo " ";
+ echo '';
+ echo " $label ";
+ echo ' ';
+ echo '';
+ return 1;
+ }
+ } else {
+ echo " ";
+ echo '';
+ echo " $label ";
+ echo ' ';
+ echo '';
+ return 1;
+ }
+}
+
+
+function check_variable($var, $value, $label, $mode)
+{
+ echo '';
+ echo " $label ";
+ echo ' ';
+ if ($mode == 1) {
+ if ($var >= $value) {
+ echo " ";
+ return 0;
+ } else {
+ echo " ";
+ return 1;
+ }
+ } else if ($var == $value) {
+ echo " ";
+ return 0;
+ } else {
+ echo " ";
+ return 1;
+ }
+
+ echo ' ';
+}
+
+
+function parse_mysql_dump($url)
+{
+ if (file_exists($url)) {
+ $file_content = file($url);
+ $query = '';
+ foreach ($file_content as $sql_line) {
+ if (trim($sql_line) != '' && strpos($sql_line, '-- ') === false) {
+ $query .= $sql_line;
+ if (preg_match("/;[\040]*\$/", $sql_line)) {
+ if (!$result = mysql_query($query)) {
+ echo mysql_error();
+ // Uncomment for debug
+ echo " $query ";
+ return 0;
+ }
+
+ $query = '';
+ }
+ }
+ }
+
+ return 1;
+ } else {
+ return 0;
+ }
+}
+
+
+function parse_mysqli_dump($connection, $url)
+{
+ if (file_exists($url)) {
+ $file_content = file($url);
+ $query = '';
+ foreach ($file_content as $sql_line) {
+ if (trim($sql_line) != '' && strpos($sql_line, '-- ') === false) {
+ $query .= $sql_line;
+ if (preg_match("/;[\040]*\$/", $sql_line)) {
+ if (!$result = mysqli_query($connection, $query)) {
+ echo mysqli_error();
+ // Uncomment for debug
+ echo " $query ";
+ return 0;
+ }
+
+ $query = '';
+ }
+ }
+ }
+
+ return 1;
+ } else {
+ return 0;
+ }
+}
+
+
+function random_name($size)
+{
+ $temp = '';
+ for ($a = 0; $a < $size; $a++) {
+ $temp = $temp.chr(rand(122, 97));
+ }
+
+ return $temp;
+}
+
+
+function print_logo_status($step, $step_total)
+{
+ global $banner;
+
+ $header = "
+
+
+
+
$banner
+
+
";
+ $header .= "
+
+ Install step $step of $step_total
+
";
+
+ return $header;
+}
+
+
+//
+// This function adjusts path settings in pandora db for FreeBSD.
+//
+// All packages and configuration files except operating system's base files
+// are installed under /usr/local in FreeBSD. So, path settings in pandora db
+// for some programs should be changed from the Linux default.
+//
+function adjust_paths_for_freebsd($engine, $connection=false)
+{
+ $adjust_sql = [
+ "update trecon_script set script = REPLACE(script,'/usr/share','/usr/local/share');",
+ "update tconfig set value = REPLACE(value,'/usr/bin','/usr/local/bin') where token='netflow_daemon' OR token='netflow_nfdump' OR token='netflow_nfexpire';",
+ "update talert_commands set command = REPLACE(command,'/usr/bin','/usr/local/bin');",
+ "update talert_commands set command = REPLACE(command,'/usr/share', '/usr/local/share');",
+ "update tplugin set execute = REPLACE(execute,'/usr/share','/usr/local/share');",
+ "update tevent_response set target = REPLACE(target,'/usr/share','/usr/local/share');",
+ "insert into tconfig (token, value) VALUES ('graphviz_bin_dir', '/usr/local/bin');",
+ ];
+
+ for ($i = 0; $i < count($adjust_sql); $i++) {
+ switch ($engine) {
+ case 'mysql':
+ $result = mysql_query($adjust_sql[$i]);
+ break;
+
+ case 'mysqli':
+ $result = mysqli_query($connection, $adjust_sql[$i]);
+ break;
+
+ case 'oracle':
+ // Delete the last semicolon from current query
+ $query = substr($adjust_sql[$i], 0, (strlen($adjust_sql[$i]) - 1));
+ $sql = oci_parse($connection, $query);
+ $result = oci_execute($sql);
+ break;
+
+ case 'pgsql':
+ pg_send_query($connection, $adjust_sql[$i]);
+ $result = pg_get_result($connection);
+ break;
+ }
+
+ if (!$result) {
+ return 0;
+ }
+ }
+
+ return 1;
+}
+
+
+function install_step1()
+{
+ global $banner;
+
+ echo "
+
+
+ ".print_logo_status(1, 6)."
+
+
Welcome to Pandora FMS installation Wizard
+
This wizard helps you to quick install Pandora FMS console and main database in your system.
+
In four steps, this installer will check all dependencies and will create your configuration, ready to use.
+
For more information, please refer to documentation.
+ Pandora FMS Development Team
+ ";
+ if (file_exists('include/config.php')) {
+ echo "
Warning: You already have a config.php file.
+ Configuration and database would be overwritten if you continued.
";
+ }
+
+ echo '
';
+ echo '
';
+ $writable = check_writable('include', 'Checking if ./include is writable');
+ if (file_exists('include/config.php')) {
+ $writable += check_writable('include/config.php', 'Checking if include/config.php is writable');
+ }
+
+ echo '
';
+
+ echo "
Warning: This installer will overwrite and destroy
+ your existing Pandora FMS configuration and Database . Before continue,
+ please be sure that you have no valuable Pandora FMS data in your Database .
+
";
+
+ echo "
Upgrade :
+ If you want to upgrade from Pandora FMS 4.x to 5.0 version, please use the migration tool inside /extras directory in this setup.
+
";
+
+ echo '
';
+
+ if ($writable == 0) {
+ echo "
";
+ echo "
Next ";
+ echo '
';
+ } else {
+ echo "
ERROR: You need to setup permissions to be able to write in ./include directory
";
+ }
+
+ echo '
';
+
+ echo "
";
+ echo "
+
+
+
";
+}
+
+
+function install_step1_licence()
+{
+ echo "
+
+
+ ".print_logo_status(2, 6)."
+
+
GPL2 Licence terms agreement
+
Pandora FMS is an OpenSource software project licensed under the GPL2 licence. Pandora FMS includes, as well, another software also licensed under LGPL and BSD licenses. Before continue, you must accept the licence terms. .
+
For more information, please refer to our website at http://pandorafms.org and contact us if you have any kind of question about the usage of Pandora FMS
+
If you dont accept the licence terms, please, close your browser and delete Pandora FMS files.
+ ";
+
+ if (!file_exists('COPYING')) {
+ echo "
Licence file 'COPYING' is not present in your distribution. This means you have some 'partial' Pandora FMS distribution. We cannot continue without accepting the licence file. ";
+ echo '
';
+ } else {
+ echo "
';
+
+ echo "
+
+
+
";
+}
+
+
+function install_step2()
+{
+ echo "
+
+
+ ".print_logo_status(3, 6)."
+
";
+ echo '
Checking software dependencies ';
+ echo '
';
+ $res = 0;
+ $res += check_variable(phpversion(), '7.0', 'PHP version >= 7.0', 1);
+ $res += check_extension('gd', 'PHP GD extension');
+ $res += check_extension('ldap', 'PHP LDAP extension');
+ $res += check_extension('snmp', 'PHP SNMP extension');
+ $res += check_extension('session', 'PHP session extension');
+ $res += check_extension('gettext', 'PHP gettext extension');
+ $res += check_extension('mbstring', 'PHP Multibyte String');
+ $res += check_extension('zip', 'PHP Zip');
+ $res += check_extension('zlib', 'PHP Zlib extension');
+ $res += check_extension('json', 'PHP json extension');
+ $res += check_extension('curl', 'CURL (Client URL Library)');
+ $res += check_extension('filter', 'PHP filter extension');
+ $res += check_extension('calendar', 'PHP calendar extension');
+ if (PHP_OS == 'FreeBSD') {
+ $res += check_exists('/usr/local/bin/twopi', 'Graphviz Binary');
+ } else if (PHP_OS == 'NetBSD') {
+ $res += check_exists('/usr/pkg/bin/twopi', 'Graphviz Binary');
+ } else if (substr(PHP_OS, 0, 3) == 'WIN') {
+ $res += check_exists("..\\..\\..\\Graphviz\\bin\\twopi.exe", 'Graphviz Binary');
+ } else {
+ $res += check_exists('/usr/bin/twopi', 'Graphviz Binary');
+ }
+
+ echo '';
+ echo "DB Engines ";
+ echo ' ';
+ echo ' ';
+ check_extension('mysqli', 'PHP MySQL(mysqli) extension');
+ echo '
';
+
+ if ($res > 0) {
+ echo "
+
You have some incomplete
+ dependencies. Please correct them or this installer
+ will not be able to finish your installation.
+
+
+ Remember, if you install any PHP module to comply
+ with these dependences, you need to restart
+ your HTTP/Apache server after it to use the new
+ modules.
+
+
";
+ } else {
+ echo "
';
+ }
+
+ echo '
';
+ echo "
";
+ echo "
+
+
+
+
+ ";
+}
+
+
+function install_step3()
+{
+ $options = '';
+ if (extension_loaded('mysql')) {
+ $options .= "MySQL ";
+ }
+
+ if (extension_loaded('mysqli')) {
+ $options .= "MySQL(mysqli) ";
+ }
+
+ $error = false;
+ if (empty($options)) {
+ $error = true;
+ }
+
+ echo "
+
+
+ ".print_logo_status(4, 6)."
+
+
Environment and database setup
+
+ This wizard will create your Pandora FMS database,
+ and populate it with all the data needed to run for the first time.
+
+
+ You need a privileged user to create database schema, this is usually root user.
+ Information about root user will not be used or stored anymore.
+
+
+ You can also deploy the scheme into an existing Database.
+ In this case you need a privileged Database user and password of that instance.
+
+
+ Now, please, complete all details to configure your database and environment setup.
+
+
+ Warning: This installer will overwrite and destroy your existing
+ Pandora FMS configuration and Database . Before continue,
+ please be sure that you have no valuable Pandora FMS data in your Database.
+
+
";
+
+ if (extension_loaded('oci8')) {
+ echo "
For Oracle installation an existing Database with a privileged user is needed.
";
+ }
+
+ if (!$error) {
+ echo "
";
+ }
+
+ echo "
+ ";
+
+ if (!$error) {
+ echo "';
+ ?>
+
+ ';
+
+ echo ' ';
+
+ echo "
";
+ echo "
+
+
";
+}
+
+
+function install_step4()
+{
+ $pandora_config = 'include/config.php';
+
+ if ((! isset($_POST['user'])) || (! isset($_POST['dbname'])) || (! isset($_POST['host']))
+ || (! isset($_POST['pass'])) || (!isset($_POST['engine'])) || (! isset($_POST['db_action']))
+ ) {
+ $dbpassword = '';
+ $dbuser = '';
+ $dbhost = '';
+ $dbname = '';
+ $engine = '';
+ $dbaction = '';
+ $dbgrant = '';
+ } else {
+ $engine = $_POST['engine'];
+ $dbpassword = $_POST['pass'];
+ $dbuser = $_POST['user'];
+ $dbhost = $_POST['host'];
+ $dbaction = $_POST['db_action'];
+ if (isset($_POST['dbgrant']) && $_POST['dbgrant'] != '') {
+ $dbgrant = $_POST['dbgrant'];
+ } else {
+ $dbgrant = $_SERVER['SERVER_ADDR'];
+ }
+
+ if (isset($_POST['drop'])) {
+ $dbdrop = $_POST['drop'];
+ } else {
+ $dbdrop = 0;
+ }
+
+ $dbname = $_POST['dbname'];
+ if (isset($_POST['url'])) {
+ $url = $_POST['url'];
+ } else {
+ $url = 'http://localhost';
+ }
+
+ if (isset($_POST['path'])) {
+ $path = $_POST['path'];
+ $path = str_replace('\\', '/', $path);
+ // Windows compatibility
+ } else {
+ $path = '/var/www';
+ }
+ }
+
+ $everything_ok = 0;
+ $step1 = 0;
+ $step2 = 0;
+ $step3 = 0;
+ $step4 = 0;
+ $step5 = 0;
+ $step6 = 0;
+ $step7 = 0;
+
+ echo "
+
+
+ ".print_logo_status(5, 6)."
+
+
Creating database and default configuration file
+
";
+ switch ($engine) {
+ case 'mysql':
+ if (! mysql_connect($dbhost, $dbuser, $dbpassword)) {
+ check_generic(0, 'Connection with Database');
+ } else {
+ check_generic(1, 'Connection with Database');
+
+ // Drop database if needed and don't want to install over an existing DB
+ if ($dbdrop == 1) {
+ mysql_query("DROP DATABASE IF EXISTS `$dbname`");
+ }
+
+ // Create schema
+ if ($dbaction == 'db_new' || $dbdrop == 1) {
+ $step1 = mysql_query("CREATE DATABASE `$dbname`");
+ check_generic($step1, "Creating database '$dbname'");
+ } else {
+ $step1 = 1;
+ }
+
+ if ($step1 == 1) {
+ $step2 = mysql_select_db($dbname);
+ check_generic($step2, "Opening database '$dbname'");
+
+ $step3 = parse_mysql_dump('pandoradb.sql');
+ check_generic($step3, 'Creating schema');
+
+ $step4 = parse_mysql_dump('pandoradb_data.sql');
+ check_generic($step4, 'Populating database');
+ if (PHP_OS == 'FreeBSD') {
+ $step_freebsd = adjust_paths_for_freebsd($engine);
+ check_generic($step_freebsd, 'Adjusting paths in database for FreeBSD');
+ }
+
+ $random_password = random_name(8);
+ $host = $dbhost;
+ // set default granted origin to the origin of the queries
+ if (($dbhost != 'localhost') && ($dbhost != '127.0.0.1')) {
+ $host = $dbgrant;
+ // if the granted origin is different from local machine, set the valid origin
+ }
+
+ $step5 = mysql_query(
+ "GRANT ALL PRIVILEGES ON `$dbname`.* to pandora@$host
+ IDENTIFIED BY '".$random_password."'"
+ );
+ mysql_query('FLUSH PRIVILEGES');
+ check_generic($step5, "Established privileges for user pandora. A new random password has been generated: $random_password Please write it down, you will need to setup your Pandora FMS server, editing the /etc/pandora/pandora_server.conf file
");
+
+ $step6 = is_writable('include');
+ check_generic($step6, "Write permissions to save config file in './include'");
+
+ $cfgin = fopen('include/config.inc.php', 'r');
+ $cfgout = fopen($pandora_config, 'w');
+ $config_contents = fread($cfgin, filesize('include/config.inc.php'));
+ $dbtype = 'mysql';
+ $config_new = '';
+ $step7 = fputs($cfgout, $config_new);
+ $step7 = ($step7 + fputs($cfgout, $config_contents));
+ if ($step7 > 0) {
+ $step7 = 1;
+ }
+
+ fclose($cfgin);
+ fclose($cfgout);
+ chmod($pandora_config, 0600);
+ check_generic($step7, "Created new config file at '".$pandora_config."'");
+ }
+ }
+
+ if (($step7 + $step6 + $step5 + $step4 + $step3 + $step2 + $step1) == 7) {
+ $everything_ok = 1;
+ }
+ break;
+
+ case 'mysqli':
+ $connection = mysqli_connect($dbhost, $dbuser, $dbpassword);
+ if (mysqli_connect_error() > 0) {
+ check_generic(0, 'Connection with Database');
+ } else {
+ check_generic(1, 'Connection with Database');
+
+ // Drop database if needed and don't want to install over an existing DB
+ if ($dbdrop == 1) {
+ mysqli_query($connection, "DROP DATABASE IF EXISTS `$dbname`");
+ }
+
+ // Create schema
+ if ($dbaction == 'db_new' || $dbdrop == 1) {
+ $step1 = mysqli_query($connection, "CREATE DATABASE `$dbname`");
+ check_generic($step1, "Creating database '$dbname'");
+ } else {
+ $step1 = 1;
+ }
+
+ if ($step1 == 1) {
+ $step2 = mysqli_select_db($connection, $dbname);
+ check_generic($step2, "Opening database '$dbname'");
+
+ $step3 = parse_mysqli_dump($connection, 'pandoradb.sql');
+ check_generic($step3, 'Creating schema');
+
+ $step4 = parse_mysqli_dump($connection, 'pandoradb_data.sql');
+ check_generic($step4, 'Populating database');
+ if (PHP_OS == 'FreeBSD') {
+ $step_freebsd = adjust_paths_for_freebsd($engine, $connection);
+ check_generic($step_freebsd, 'Adjusting paths in database for FreeBSD');
+ }
+
+ $random_password = random_name(8);
+ $host = $dbhost;
+ // set default granted origin to the origin of the queries
+ if (($dbhost != 'localhost') && ($dbhost != '127.0.0.1')) {
+ $host = $dbgrant;
+ // if the granted origin is different from local machine, set the valid origin
+ }
+
+ $step5 = mysqli_query(
+ $connection,
+ "GRANT ALL PRIVILEGES ON `$dbname`.* to pandora@$host
+ IDENTIFIED BY '".$random_password."'"
+ );
+ mysqli_query($connection, 'FLUSH PRIVILEGES');
+ check_generic($step5, "Established privileges for user pandora. A new random password has been generated: $random_password Please write it down, you will need to setup your Pandora FMS server, editing the /etc/pandora/pandora_server.conf file
");
+
+ $step6 = is_writable('include');
+ check_generic($step6, "Write permissions to save config file in './include'");
+
+ $cfgin = fopen('include/config.inc.php', 'r');
+ $cfgout = fopen($pandora_config, 'w');
+ $config_contents = fread($cfgin, filesize('include/config.inc.php'));
+ $dbtype = 'mysql';
+ $config_new = '';
+ $step7 = fputs($cfgout, $config_new);
+ $step7 = ($step7 + fputs($cfgout, $config_contents));
+ if ($step7 > 0) {
+ $step7 = 1;
+ }
+
+ fclose($cfgin);
+ fclose($cfgout);
+ chmod($pandora_config, 0600);
+ check_generic($step7, "Created new config file at '".$pandora_config."'");
+ }
+ }
+
+ if (($step7 + $step6 + $step5 + $step4 + $step3 + $step2 + $step1) == 7) {
+ $everything_ok = 1;
+ }
+ break;
+ }
+
+ echo '
';
+
+ if ($everything_ok == 1) {
+ echo "
';
+ } else {
+ $info = "
There were some problems.
+ Installation was not completed.
+
Please correct failures before trying again.
+ All database ";
+ if ($engine == 'oracle') {
+ $info .= 'objects ';
+ } else {
+ $info .= 'schemes ';
+ }
+
+ $info .= 'created in this step have been dropped.
+
';
+ echo $info;
+
+ switch ($engine) {
+ case 'mysql':
+ if (mysql_error() != '') {
+ echo "
ERROR: ".mysql_error().'.
';
+ }
+
+ if ($step1 == 1) {
+ mysql_query("DROP DATABASE $dbname");
+ }
+ break;
+
+ case 'mysqli':
+ if (mysqli_error($connection) != '') {
+ echo "
ERROR: ".mysqli_error($connection).'.
';
+ }
+
+ if ($step1 == 1) {
+ mysqli_query($connection, "DROP DATABASE $dbname");
+ }
+ break;
+ }
+
+ echo '
';
+ }
+
+ echo '
';
+ echo "
";
+ echo "
+
+
+
";
+}
+
+
+function install_step5()
+{
+ echo "
+
+
+ ".print_logo_status(6, 6)."
+
+
Installation complete
+
For security, you now must manually delete this installer
+ ('install.php ') file before trying to access to your Pandora FMS console.
+
You should also install Pandora FMS Servers before trying to monitor anything;
+ please read documentation on how to install it.
+
Default user is 'admin' with password 'pandora' ,
+ please change it both as soon as possible.
+
Don't forget to check http://pandorafms.com
+ for updates.
+
Select if you want to rename 'install.php '.
+
+ Yes, rename the file
+
+
+
Click here to access to your Pandora FMS console .
+
+
";
+
+ echo "
+
+
";
+}
diff --git a/pandora_console/operation/agentes/estado_generalagente.php b/pandora_console/operation/agentes/estado_generalagente.php
index 30705e7267..78b850b241 100755
--- a/pandora_console/operation/agentes/estado_generalagente.php
+++ b/pandora_console/operation/agentes/estado_generalagente.php
@@ -499,7 +499,7 @@ if (!empty($network_interfaces)) {
$params_json = json_encode($params);
$params_encoded = base64_encode($params_json);
$win_handle = dechex(crc32($interface['status_module_id'].$interface_name));
- $graph_link = "".html_print_image('images/chart_curve.png', true, ['title' => __('Interface traffic')]).' ';
+ $graph_link = "".html_print_image('images/chart_curve.png', true, ['title' => __('Interface traffic')]).' ';
} else {
$graph_link = '';
}
diff --git a/pandora_console/operation/agentes/interface_traffic_graph_win.php b/pandora_console/operation/agentes/interface_traffic_graph_win.php
index e00ed0d254..ea75e4e1b9 100644
--- a/pandora_console/operation/agentes/interface_traffic_graph_win.php
+++ b/pandora_console/operation/agentes/interface_traffic_graph_win.php
@@ -214,7 +214,7 @@ if ($date > $now) {
$data = [];
$data[0] = __('Show percentil');
- $data[1] = html_print_checkbox('show_percentil', 1, (bool) $show_percentil, true);
+ $data[1] = html_print_checkbox_switch('show_percentil', 1, (bool) $show_percentil, true);
$table->data[] = $data;
$table->rowclass[] = '';
@@ -225,7 +225,7 @@ if ($date > $now) {
'images/tip.png',
true
);
- $data[1] = html_print_checkbox('fullscale', 1, (bool) $fullscale, true);
+ $data[1] = html_print_checkbox_switch('fullscale', 1, (bool) $fullscale, true);
$table->data[] = $data;
$table->rowclass[] = '';
diff --git a/pandora_console/operation/agentes/stat_win.php b/pandora_console/operation/agentes/stat_win.php
index ef4a448360..3384dc6a20 100644
--- a/pandora_console/operation/agentes/stat_win.php
+++ b/pandora_console/operation/agentes/stat_win.php
@@ -304,7 +304,7 @@ $alias = db_get_value('alias', 'tagente', 'id_agente', $id_agent);
}
}
- $data[1] = html_print_checkbox(
+ $data[1] = html_print_checkbox_switch(
'draw_events',
1,
(bool) $draw_events,
@@ -323,14 +323,14 @@ $alias = db_get_value('alias', 'tagente', 'id_agente', $id_agent);
$data = [];
$data[0] = __('Show alerts');
- $data[1] = html_print_checkbox('draw_alerts', 1, (bool) $draw_alerts, true);
+ $data[1] = html_print_checkbox_switch('draw_alerts', 1, (bool) $draw_alerts, true);
$table->data[] = $data;
$table->rowclass[] = '';
/*
$data = array();
$data[0] = __('Show event graph');
- $data[1] = html_print_checkbox ("show_events_graph", 1, (bool) $show_events_graph, true);
+ $data[1] = html_print_checkbox_switch ("show_events_graph", 1, (bool) $show_events_graph, true);
$table->data[] = $data;
$table->rowclass[] = '';
*/
@@ -340,25 +340,25 @@ $alias = db_get_value('alias', 'tagente', 'id_agente', $id_agent);
case 'sparse':
$data = [];
$data[0] = __('Show percentil');
- $data[1] = html_print_checkbox('show_percentil', 1, (bool) $show_percentil, true);
+ $data[1] = html_print_checkbox_switch('show_percentil', 1, (bool) $show_percentil, true);
$table->data[] = $data;
$table->rowclass[] = '';
$data = [];
$data[0] = __('Time compare (Overlapped)');
- $data[1] = html_print_checkbox('time_compare_overlapped', 1, (bool) $time_compare_overlapped, true);
+ $data[1] = html_print_checkbox_switch('time_compare_overlapped', 1, (bool) $time_compare_overlapped, true);
$table->data[] = $data;
$table->rowclass[] = '';
$data = [];
$data[0] = __('Time compare (Separated)');
- $data[1] = html_print_checkbox('time_compare_separated', 1, (bool) $time_compare_separated, true);
+ $data[1] = html_print_checkbox_switch('time_compare_separated', 1, (bool) $time_compare_separated, true);
$table->data[] = $data;
$table->rowclass[] = '';
$data = [];
$data[0] = __('Show unknown graph');
- $data[1] = html_print_checkbox('unknown_graph', 1, (bool) $unknown_graph, true);
+ $data[1] = html_print_checkbox_switch('unknown_graph', 1, (bool) $unknown_graph, true);
$table->data[] = $data;
$table->rowclass[] = '';
break;
@@ -366,7 +366,7 @@ $alias = db_get_value('alias', 'tagente', 'id_agente', $id_agent);
$data = [];
$data[0] = __('Show full scale graph (TIP)');
- $data[1] = html_print_checkbox(
+ $data[1] = html_print_checkbox_switch(
'fullscale',
1,
(bool) $fullscale,
diff --git a/pandora_console/pandora_console.redhat.spec b/pandora_console/pandora_console.redhat.spec
index 62bbca26bd..ee05fb7c99 100644
--- a/pandora_console/pandora_console.redhat.spec
+++ b/pandora_console/pandora_console.redhat.spec
@@ -3,7 +3,7 @@
#
%define name pandorafms_console
%define version 7.0NG.735
-%define release 190527
+%define release 190528
# User and Group under which Apache is running
%define httpd_name httpd
diff --git a/pandora_console/pandora_console.rhel7.spec b/pandora_console/pandora_console.rhel7.spec
index cdb32cc641..4dcdeba821 100644
--- a/pandora_console/pandora_console.rhel7.spec
+++ b/pandora_console/pandora_console.rhel7.spec
@@ -3,7 +3,7 @@
#
%define name pandorafms_console
%define version 7.0NG.735
-%define release 190527
+%define release 190528
# User and Group under which Apache is running
%define httpd_name httpd
diff --git a/pandora_console/pandora_console.spec b/pandora_console/pandora_console.spec
index f75bd6503b..e8a7d4becb 100644
--- a/pandora_console/pandora_console.spec
+++ b/pandora_console/pandora_console.spec
@@ -3,7 +3,7 @@
#
%define name pandorafms_console
%define version 7.0NG.735
-%define release 190527
+%define release 190528
%define httpd_name httpd
# User and Group under which Apache is running
%define httpd_name apache2
diff --git a/pandora_server/DEBIAN/control b/pandora_server/DEBIAN/control
index e0c8a4fa52..6a4191e684 100644
--- a/pandora_server/DEBIAN/control
+++ b/pandora_server/DEBIAN/control
@@ -1,5 +1,5 @@
package: pandorafms-server
-Version: 7.0NG.735-190527
+Version: 7.0NG.735-190528
Architecture: all
Priority: optional
Section: admin
diff --git a/pandora_server/DEBIAN/make_deb_package.sh b/pandora_server/DEBIAN/make_deb_package.sh
index 88884097fe..db863ed0c0 100644
--- a/pandora_server/DEBIAN/make_deb_package.sh
+++ b/pandora_server/DEBIAN/make_deb_package.sh
@@ -14,7 +14,7 @@
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-pandora_version="7.0NG.735-190527"
+pandora_version="7.0NG.735-190528"
package_cpan=0
package_pandora=1
diff --git a/pandora_server/lib/PandoraFMS/Config.pm b/pandora_server/lib/PandoraFMS/Config.pm
index a72dac39c8..48ab25ec3c 100644
--- a/pandora_server/lib/PandoraFMS/Config.pm
+++ b/pandora_server/lib/PandoraFMS/Config.pm
@@ -45,7 +45,7 @@ our @EXPORT = qw(
# version: Defines actual version of Pandora Server for this module only
my $pandora_version = "7.0NG.735";
-my $pandora_build = "190527";
+my $pandora_build = "190528";
our $VERSION = $pandora_version." ".$pandora_build;
# Setup hash
diff --git a/pandora_server/lib/PandoraFMS/PluginTools.pm b/pandora_server/lib/PandoraFMS/PluginTools.pm
index a3806c7e60..0e8c786c61 100644
--- a/pandora_server/lib/PandoraFMS/PluginTools.pm
+++ b/pandora_server/lib/PandoraFMS/PluginTools.pm
@@ -32,7 +32,7 @@ our @ISA = qw(Exporter);
# version: Defines actual version of Pandora Server for this module only
my $pandora_version = "7.0NG.735";
-my $pandora_build = "190527";
+my $pandora_build = "190528";
our $VERSION = $pandora_version." ".$pandora_build;
our %EXPORT_TAGS = ( 'all' => [ qw() ] );
diff --git a/pandora_server/pandora_server.redhat.spec b/pandora_server/pandora_server.redhat.spec
index a75f57b68e..3d4b53d8c4 100644
--- a/pandora_server/pandora_server.redhat.spec
+++ b/pandora_server/pandora_server.redhat.spec
@@ -3,7 +3,7 @@
#
%define name pandorafms_server
%define version 7.0NG.735
-%define release 190527
+%define release 190528
Summary: Pandora FMS Server
Name: %{name}
diff --git a/pandora_server/pandora_server.spec b/pandora_server/pandora_server.spec
index 9b4eea12e0..fc1b149483 100644
--- a/pandora_server/pandora_server.spec
+++ b/pandora_server/pandora_server.spec
@@ -3,7 +3,7 @@
#
%define name pandorafms_server
%define version 7.0NG.735
-%define release 190527
+%define release 190528
Summary: Pandora FMS Server
Name: %{name}
diff --git a/pandora_server/pandora_server_installer b/pandora_server/pandora_server_installer
index f04c4c0b18..127621a67d 100755
--- a/pandora_server/pandora_server_installer
+++ b/pandora_server/pandora_server_installer
@@ -9,7 +9,7 @@
# **********************************************************************
PI_VERSION="7.0NG.735"
-PI_BUILD="190527"
+PI_BUILD="190528"
MODE=$1
if [ $# -gt 1 ]; then
diff --git a/pandora_server/util/pandora_db.pl b/pandora_server/util/pandora_db.pl
index 368d559c82..87dc0d43fe 100644
--- a/pandora_server/util/pandora_db.pl
+++ b/pandora_server/util/pandora_db.pl
@@ -34,7 +34,7 @@ use PandoraFMS::Config;
use PandoraFMS::DB;
# version: define current version
-my $version = "7.0NG.735 PS190527";
+my $version = "7.0NG.735 PS190528";
# Pandora server configuration
my %conf;
diff --git a/pandora_server/util/pandora_manage.pl b/pandora_server/util/pandora_manage.pl
index a574d3fa54..f3d4a7e7e0 100644
--- a/pandora_server/util/pandora_manage.pl
+++ b/pandora_server/util/pandora_manage.pl
@@ -36,7 +36,7 @@ use Encode::Locale;
Encode::Locale::decode_argv;
# version: define current version
-my $version = "7.0NG.735 PS190527";
+my $version = "7.0NG.735 PS190528";
# save program name for logging
my $progname = basename($0);