FreeBSD Bugzilla – Attachment 200505 Details for
Bug 233773
net-mgmt/pandorafms_console: Unbreak with PHP 7.1+
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Updated patch that can be applied to latest ports tree
updated-patch-with-todays-ports (text/plain), 15.45 KB, created by
KIKUCHI Koichiro
on 2018-12-25 18:16:29 UTC
(
hide
)
Description:
Updated patch that can be applied to latest ports tree
Filename:
MIME Type:
Creator:
KIKUCHI Koichiro
Created:
2018-12-25 18:16:29 UTC
Size:
15.45 KB
patch
obsolete
>diff -u -r -N pandorafms_console.orig/Makefile pandorafms_console/Makefile >--- pandorafms_console.orig/Makefile 2018-12-04 12:16:06.929642000 +0000 >+++ pandorafms_console/Makefile 2018-12-04 12:17:55.138715000 +0000 >@@ -10,8 +10,6 @@ > LICENSE= ${PANDORA_LICENSE} > LICENSE_FILE= ${PANDORA_LICENSE_FILE} > >-IGNORE_WITH_PHP= 71 72 73 >- > RUN_DEPENDS= ${LOCALBASE}/bin/twopi:graphics/graphviz > > USES= apache:run,2.2+ php:web shebangfix >@@ -29,7 +27,7 @@ > DOCS_DESC= Install AUTHORS and ChangeLog > PGSQL_DESC= Use PostgreSQL backend (experimental) > >-USE_PHP= curl filter gd gettext hash json ldap mbstring mysql \ >+USE_PHP= curl filter gd gettext hash json ldap mbstring mysqli \ > snmp session xml zip zlib > > SUB_FILES+= pandora_console.conf pkg-message newsyslog.conf >@@ -39,7 +37,7 @@ > > .include "${.CURDIR}/../pandorafms_server/bsd.pandora.mk" > >-PORTREVISION= 2 >+PORTREVISION= 3 > > PANDORA_INSTALLER_ARGS+= --destdir ${STAGEDIR} > >diff -u -r -N pandorafms_console.orig/files/patch-include_db_mysql.php pandorafms_console/files/patch-include_db_mysql.php >--- pandorafms_console.orig/files/patch-include_db_mysql.php 1970-01-01 00:00:00.000000000 +0000 >+++ pandorafms_console/files/patch-include_db_mysql.php 2018-12-04 12:10:23.980552000 +0000 >@@ -0,0 +1,192 @@ >+--- include/db/mysql.php.orig 2016-04-08 09:50:59 UTC >++++ include/db/mysql.php >+@@ -29,13 +29,13 @@ function mysql_connect_db($host = null, >+ $port = $config["dbport"]; >+ >+ // Non-persistent connection: This will help to avoid mysql errors like "has gone away" or locking problems >+- // If you want persistent connections change it to mysql_pconnect(). >+- $connect_id = @mysql_connect($host . ":" . $port, $user, $pass, true); >++ // If you want persistent connections change it to mysqli_pconnect(). >++ $connect_id = @mysqli_connect($host . ":" . $port, $user, $pass); >+ if (! $connect_id) { >+ return false; >+ } >+ >+- mysql_select_db($db, $connect_id); >++ mysqli_select_db($connect_id, $db); >+ return $connect_id; >+ } >+ >+@@ -299,14 +299,14 @@ function mysql_db_process_sql($sql, $ret >+ $dbconnection = $config['dbconnection']; >+ } >+ >+- $result = mysql_query ($sql, $dbconnection); >++ $result = mysqli_query($dbconnection, $sql); >+ >+ $time = microtime (true) - $start; >+ if ($result === false) { >+ $backtrace = debug_backtrace (); >+ $error = sprintf ('%s (\'%s\') in <strong>%s</strong> on line %d', >+- mysql_error (), $sql, $backtrace[0]['file'], $backtrace[0]['line']); >+- db_add_database_debug_trace ($sql, mysql_error ($dbconnection)); >++ mysqli_error($dbconnection), $sql, $backtrace[0]['file'], $backtrace[0]['line']); >++ db_add_database_debug_trace ($sql, mysqli_error($dbconnection)); >+ set_error_handler ('db_sql_error_handler'); >+ trigger_error ($error); >+ restore_error_handler (); >+@@ -314,29 +314,29 @@ function mysql_db_process_sql($sql, $ret >+ } >+ elseif ($result === true) { >+ if ($rettype == "insert_id") { >+- $result = mysql_insert_id ($dbconnection); >++ $result = ((is_null($___mysqli_res = mysqli_insert_id($dbconnection))) ? false : $___mysqli_res); >+ } >+ elseif ($rettype == "info") { >+- $result = mysql_info ($dbconnection); >++ $result = mysqli_info($dbconnection); >+ } >+ else { >+- $result = mysql_affected_rows ($dbconnection); >++ $result = mysqli_affected_rows($dbconnection); >+ } >+ >+- db_add_database_debug_trace ($sql, $result, mysql_affected_rows ($dbconnection), >++ db_add_database_debug_trace ($sql, $result, mysqli_affected_rows($dbconnection), >+ array ('time' => $time)); >+ return $result; >+ } >+ else { >+- db_add_database_debug_trace ($sql, 0, mysql_affected_rows ($dbconnection), >++ db_add_database_debug_trace ($sql, 0, mysqli_affected_rows($dbconnection), >+ array ('time' => $time)); >+- while ($row = mysql_fetch_assoc ($result)) { >++ while ($row = mysqli_fetch_assoc($result)) { >+ array_push ($retval, $row); >+ } >+ >+ if ($cache === true) >+ $sql_cache[$sql] = $retval; >+- mysql_free_result ($result); >++ ((mysqli_free_result($result) || (is_object($result) && (get_class($result) == "mysqli_result"))) ? true : false); >+ } >+ } >+ >+@@ -355,7 +355,8 @@ function mysql_db_process_sql($sql, $ret >+ * @return string String cleaned. >+ */ >+ function mysql_escape_string_sql($string) { >+- $str = mysql_real_escape_string($string); >++ global $config; >++ $str = mysqli_real_escape_string($config['dbconnection'], $string); >+ >+ return $str; >+ } >+@@ -754,10 +755,10 @@ function mysql_db_get_all_rows_filter ($ >+ function mysql_db_get_num_rows ($sql) { >+ global $config; >+ >+- $result = mysql_query($sql, $config['dbconnection']); >++ $result = mysqli_query($config['dbconnection'], $sql); >+ >+ if ($result) { >+- return mysql_num_rows($result); >++ return mysqli_num_rows($result); >+ } >+ else { >+ return 0; >+@@ -972,11 +973,12 @@ function mysql_db_process_sql_delete($ta >+ * @return mixed The row or false in error. >+ */ >+ function mysql_db_get_all_row_by_steps_sql($new = true, &$result, $sql = null) { >++ global $config; >+ if ($new == true) >+- $result = mysql_query($sql); >++ $result = mysqli_query($config['dbconnection'], $sql); >+ >+ if ($result) { >+- return mysql_fetch_assoc($result); >++ return mysqli_fetch_assoc($result); >+ } >+ else { >+ return array(); >+@@ -987,24 +989,27 @@ function mysql_db_get_all_row_by_steps_s >+ * Starts a database transaction. >+ */ >+ function mysql_db_process_sql_begin() { >+- mysql_query ('SET AUTOCOMMIT = 0'); >+- mysql_query ('START TRANSACTION'); >++ global $config; >++ mysqli_query($config['dbconnection'], 'SET AUTOCOMMIT = 0'); >++ mysqli_query($config['dbconnection'], 'START TRANSACTION'); >+ } >+ >+ /** >+ * Commits a database transaction. >+ */ >+ function mysql_db_process_sql_commit() { >+- mysql_query ('COMMIT'); >+- mysql_query ('SET AUTOCOMMIT = 1'); >++ global $config; >++ mysqli_query($config['dbconnection'], 'COMMIT'); >++ mysqli_query($config['dbconnection'], 'SET AUTOCOMMIT = 1'); >+ } >+ >+ /** >+ * Rollbacks a database transaction. >+ */ >+ function mysql_db_process_sql_rollback() { >+- mysql_query ('ROLLBACK '); >+- mysql_query ('SET AUTOCOMMIT = 1'); >++ global $config; >++ mysqli_query($config['dbconnection'], 'ROLLBACK '); >++ mysqli_query($config['dbconnection'], 'SET AUTOCOMMIT = 1'); >+ } >+ >+ /** >+@@ -1018,7 +1023,7 @@ function mysql_safe_sql_string($string) >+ >+ global $config; >+ >+- return mysql_real_escape_string($string, $config['dbconnection']); >++ return mysqli_real_escape_string($config['dbconnection'], $string); >+ } >+ >+ /** >+@@ -1027,7 +1032,8 @@ function mysql_safe_sql_string($string) >+ * @return string Return the string error. >+ */ >+ function mysql_db_get_last_error() { >+- return mysql_error(); >++ global $config; >++ return mysqli_error($config['dbconnection']); >+ } >+ >+ /** >+@@ -1064,9 +1070,10 @@ function mysql_get_system_time() { >+ * @return mixed Return the type name or False in error case. >+ */ >+ function mysql_db_get_type_field_table($table, $field) { >+- $result = mysql_query('SELECT parameters FROM ' . $table); >++ global $config; >++ $result = mysqli_query($config['dbconnection'], 'SELECT parameters FROM ' . $table); >+ >+- return mysql_field_type($result, $field); >++ return ((is_object($___mysqli_tmp = mysqli_fetch_field_direct($result, 0)) && !is_null($___mysqli_tmp = $___mysqli_tmp->type)) ? ((($___mysqli_tmp = (string)(substr(( (($___mysqli_tmp == MYSQLI_TYPE_STRING) || ($___mysqli_tmp == MYSQLI_TYPE_VAR_STRING) ) ? "string " : "" ) . ( (in_array($___mysqli_tmp, array(MYSQLI_TYPE_TINY, MYSQLI_TYPE_SHORT, MYSQLI_TYPE_LONG, MYSQLI_TYPE_LONGLONG, MYSQLI_TYPE_INT24))) ? "int " : "" ) . ( (in_array($___mysqli_tmp, array(MYSQLI_TYPE_FLOAT, MYSQLI_TYPE_DOUBLE, MYSQLI_TYPE_DECIMAL, ((defined("MYSQLI_TYPE_NEWDECIMAL")) ? constant("MYSQLI_TYPE_NEWDECIMAL") : -1)))) ? "real " : "" ) . ( ($___mysqli_tmp == MYSQLI_TYPE_TIMESTAMP) ? "timestamp " : "" ) . ( ($___mysqli_tmp == MYSQLI_TYPE_YEAR) ? "year " : "" ) . ( (($___mysqli_tmp == MYSQLI_TYPE_DATE) || ($___mysqli_tmp == MYSQLI_TYPE_NEWDATE) ) ? "date " : "" ) . ( ($___mysqli_tmp == MYSQLI_TYPE_TIME) ? "time " : "" ) . ( ($___mysqli_tmp == MYSQLI_TYPE_SET) ? "set " : "" ) . ( ($___mysqli_tmp == MYSQLI_TYPE_ENUM) ? "enum " : "" ) . ( ($___mysqli_tmp == MYSQLI_TYPE_GEOMETRY) ? "geometry " : "" ) . ( ($___mysqli_tmp == MYSQLI_TYPE_DATETIME) ? "datetime " : "" ) . ( (in_array($___mysqli_tmp, array(MYSQLI_TYPE_TINY_BLOB, MYSQLI_TYPE_BLOB, MYSQLI_TYPE_MEDIUM_BLOB, MYSQLI_TYPE_LONG_BLOB))) ? "blob " : "" ) . ( ($___mysqli_tmp == MYSQLI_TYPE_NULL) ? "null " : "" ), 0, -1))) == "") ? "unknown" : $___mysqli_tmp) : false); >+ } >+ >+ /** >+@@ -1136,11 +1143,11 @@ function mysql_db_process_file ($path, $ >+ $query .= $sql_line; >+ >+ if (preg_match("/;[\040]*\$/", $sql_line)) { >+- if (!$result = mysql_query($query)) { >++ if (!$result = mysqli_query($config['dbconnection'], $query)) { >+ // Error. Rollback the transaction >+ mysql_db_process_sql_rollback(); >+ >+- $error_message = mysql_error(); >++ $error_message = mysqli_error($config['dbconnection']); >+ >+ // Handle the error >+ if ($handle_error) { >diff -u -r -N pandorafms_console.orig/files/patch-include_functions.php pandorafms_console/files/patch-include_functions.php >--- pandorafms_console.orig/files/patch-include_functions.php 1970-01-01 00:00:00.000000000 +0000 >+++ pandorafms_console/files/patch-include_functions.php 2018-12-04 12:10:23.982293000 +0000 >@@ -0,0 +1,11 @@ >+--- include/functions.php.orig 2016-04-08 09:50:59 UTC >++++ include/functions.php >+@@ -2322,7 +2322,7 @@ function clear_pandora_error_for_header( >+ global $config; >+ >+ $config["alert_cnt"] = 0; >+- $_SESSION["alert_msg"] = ""; >++ $_SESSION["alert_msg"] = array(); >+ } >+ >+ function set_pandora_error_for_header($message, $title = null) { >diff -u -r -N pandorafms_console.orig/files/patch-install.php pandorafms_console/files/patch-install.php >--- pandorafms_console.orig/files/patch-install.php 1970-01-01 00:00:00.000000000 +0000 >+++ pandorafms_console/files/patch-install.php 2018-12-04 12:10:23.983995000 +0000 >@@ -0,0 +1,121 @@ >+--- install.php.orig 2016-04-08 09:51:58 UTC >++++ install.php >+@@ -212,8 +212,8 @@ function parse_mysql_dump($url) { >+ 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 >++ if (!$result = mysqli_query($GLOBALS["___mysqli_ston"], $query)) { >++ echo mysqli_error($GLOBALS["___mysqli_ston"]); //Uncomment for debug >+ echo "<i><br>$query<br></i>"; >+ return 0; >+ } >+@@ -426,7 +426,7 @@ function adjust_paths_for_freebsd($engin >+ for ($i = 0; $i < count ($adjust_sql); $i++) { >+ switch ($engine) { >+ case 'mysql': >+- $result = mysql_query($adjust_sql[$i]); >++ $result = mysqli_query($GLOBALS["___mysqli_ston"], $adjust_sql[$i]); >+ break; >+ case 'oracle': >+ //Delete the last semicolon from current query >+@@ -575,7 +575,8 @@ function install_step2() { >+ font-size: 8.5pt;margin-top: 2px; font-weight: bolder;'>DB Engines</span>"; >+ echo "</td><td>"; >+ echo "</td></tr>"; >+- check_extension("mysql", "PHP MySQL extension"); >++ check_extension("mysql", "PHP mysql extension (deprecated)"); >++ check_extension("mysqli", "PHP mysql extension"); >+ check_extension("pgsql", "PHP PostgreSQL extension"); >+ check_extension("oci8", "PHP Oracle extension"); >+ echo "</table>"; >+@@ -617,8 +618,8 @@ function install_step2() { >+ >+ function install_step3() { >+ $options = ''; >+- if (extension_loaded("mysql")) { >+- $options .= "<option value='mysql'>MySQL</option>"; >++ if (extension_loaded("mysql") || extension_loaded("mysqli")) { >++ $options .= "<option value='mysql'>mysql</option>"; >+ } >+ if (extension_loaded("pgsql")) { >+ $options .= "<option value='pgsql'>PostgreSQL</option>"; >+@@ -811,7 +812,7 @@ function install_step4() { >+ <table width='100%'>"; >+ switch ($engine) { >+ case 'mysql': >+- if (! mysql_connect ($dbhost, $dbuser, $dbpassword)) { >++ if (! ($GLOBALS["___mysqli_ston"] = mysqli_connect($dbhost, $dbuser, $dbpassword))) { >+ check_generic ( 0, "Connection with Database"); >+ } >+ else { >+@@ -819,19 +820,19 @@ function install_step4() { >+ >+ // Drop database if needed and don't want to install over an existing DB >+ if ($dbdrop == 1) { >+- mysql_query ("DROP DATABASE IF EXISTS `$dbname`"); >++ mysqli_query($GLOBALS["___mysqli_ston"], "DROP DATABASE IF EXISTS `$dbname`"); >+ } >+ >+ // Create schema >+ if ($dbaction == 'db_new' || $dbdrop == 1) { >+- $step1 = mysql_query ("CREATE DATABASE `$dbname`"); >++ $step1 = mysqli_query($GLOBALS["___mysqli_ston"], "CREATE DATABASE `$dbname`"); >+ check_generic ($step1, "Creating database '$dbname'"); >+ } >+ else { >+ $step1 = 1; >+ } >+ if ($step1 == 1) { >+- $step2 = mysql_select_db($dbname); >++ $step2 = mysqli_select_db($GLOBALS["___mysqli_ston"], $dbname); >+ check_generic ($step2, "Opening database '$dbname'"); >+ >+ $step3 = parse_mysql_dump("pandoradb.sql"); >+@@ -848,9 +849,9 @@ function install_step4() { >+ $host = 'localhost'; >+ if ($dbhost != 'localhost') >+ $host = $dbgrant; >+- $step5 = mysql_query ("GRANT ALL PRIVILEGES ON `$dbname`.* to pandora@$host >++ $step5 = mysqli_query($GLOBALS["___mysqli_ston"], "GRANT ALL PRIVILEGES ON `$dbname`.* to pandora@$host >+ IDENTIFIED BY '".$random_password."'"); >+- mysql_query ("FLUSH PRIVILEGES"); >++ mysqli_query($GLOBALS["___mysqli_ston"], "FLUSH PRIVILEGES"); >+ check_generic ($step5, "Established privileges for user pandora. A new random password has been generated: <b>$random_password</b><div class='warn'>Please write it down, you will need to setup your Pandora FMS server, editing the </i>/etc/pandora/pandora_server.conf</i> file</div>"); >+ >+ $step6 = is_writable("include"); >+@@ -863,7 +864,7 @@ function install_step4() { >+ $config_new = '<?php >+ // Begin of automatic config file >+ $config["dbtype"] = "' . $dbtype . '"; //DB type (mysql, postgresql...in future others) >+- $config["dbname"]="'.$dbname.'"; // MySQL DataBase name >++ $config["dbname"]="'.$dbname.'"; // mysql DataBase name >+ $config["dbuser"]="pandora"; // DB User >+ $config["dbpass"]="'.$random_password.'"; // DB Password >+ $config["dbhost"]="'.$dbhost.'"; // DB Host >+@@ -1145,7 +1146,7 @@ function install_step4() { >+ $config_new = '<?php >+ // Begin of automatic config file >+ $config["dbtype"] = "' . $dbtype . '"; //DB type (mysql, postgresql...in future others) >+- $config["dbname"]="'.$dbname.'"; // MySQL DataBase name >++ $config["dbname"]="'.$dbname.'"; // mysql DataBase name >+ $config["dbuser"]="pandora"; // DB User >+ $config["dbpass"]="'.$random_password.'"; // DB Password >+ $config["dbhost"]="'.$dbhost.'"; // DB Host >+@@ -1208,12 +1209,12 @@ function install_step4() { >+ >+ switch ($engine) { >+ case 'mysql': >+- if (mysql_error() != "") { >+- echo "<div class='err'> <b>ERROR:</b> ". mysql_error().".</div>"; >++ if (mysqli_error($GLOBALS["___mysqli_ston"]) != "") { >++ echo "<div class='err'> <b>ERROR:</b> ". mysqli_error($GLOBALS["___mysqli_ston"]).".</div>"; >+ } >+ >+ if ($step1 == 1) { >+- mysql_query ("DROP DATABASE $dbname"); >++ mysqli_query($GLOBALS["___mysqli_ston"], "DROP DATABASE $dbname"); >+ } >+ break; >+ case 'pgsql':
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
koichiro
:
maintainer-approval+
Actions:
View
|
Diff
Attachments on
bug 233773
:
199811
|
199812
| 200505