From 42a78d8d5e18cc35b846603c4f5abb7dd3f63bbd Mon Sep 17 00:00:00 2001 From: "Harry G. Coin" Date: Mon, 25 Apr 2016 21:09:14 -0500 Subject: [PATCH] Fix to cure uninitialized variable warnings whenever schema is called. Also many minor warning bug fixes in schema.php Might as well take the plunge and go to default show warnings. Uninitialized variable and small bug fixes install fusionpbx --- core/install/install.php | 7 +++--- .../resources/classes/install_fusionpbx.php | 10 +++++--- resources/classes/schema.php | 25 ++++++++++--------- resources/php.php | 6 ++--- 4 files changed, 26 insertions(+), 22 deletions(-) diff --git a/core/install/install.php b/core/install/install.php index c7478f4c05..abf6544a58 100644 --- a/core/install/install.php +++ b/core/install/install.php @@ -49,6 +49,7 @@ $db_create = ''; $db_create_username = ''; $db_create_password = ''; + $db = NULL; //detect the iso country code from the locale //$locale = Locale::getDefault(); @@ -133,7 +134,7 @@ $onload = ''; //buffer the content - ob_end_clean(); //clean the buffer + if (sizeof(ob_get_status())!=0) ob_end_clean(); //clean the buffer ob_start(); $messages = array(); @@ -243,7 +244,7 @@ include "resources/page_parts/install_config_database.php"; } elseif($install_step == 'execute'){ - echo "

".$text['header-installing']."

\n"; + echo "

".$text['header-installing'][$install_language]."

\n"; //$protocol = 'http'; //if($_SERVER['HTTPS']) { $protocol = 'https'; } //echo ""; @@ -364,4 +365,4 @@ //send the content to the browser and then clear the variable echo $content; -?> \ No newline at end of file +?> diff --git a/core/install/resources/classes/install_fusionpbx.php b/core/install/resources/classes/install_fusionpbx.php index 65d9447a87..18e752b105 100644 --- a/core/install/resources/classes/install_fusionpbx.php +++ b/core/install/resources/classes/install_fusionpbx.php @@ -84,8 +84,8 @@ include "root.php"; $this->write_progress("\tExecuting config.php"); require $this->config_php; global $db; - $db = $this->dbh; $this->create_database(); + $db = $this->dbh; $this->create_domain(); $this->create_superuser(); $this->app_defaults(); @@ -193,8 +193,8 @@ include "root.php"; $tmp_config .= " //show errors\n"; $tmp_config .= " ini_set('display_errors', '1');\n"; $tmp_config .= " //error_reporting (E_ALL); // Report everything\n"; - $tmp_config .= " //error_reporting (E_ALL ^ E_NOTICE); // Report everything\n"; - $tmp_config .= " error_reporting(E_ALL ^ E_NOTICE ^ E_WARNING ); //hide notices and warnings"; + $tmp_config .= " error_reporting (E_ALL ^ E_NOTICE); // Report everything\n"; + $tmp_config .= " //error_reporting(E_ALL ^ E_NOTICE ^ E_WARNING ); //hide notices and warnings"; $tmp_config .= "\n"; $tmp_config .= "?>"; @@ -727,6 +727,8 @@ include "root.php"; $salt = generate_password('20', '4'); if ($result) { $this->admin_uuid = $result['user_uuid']; + $user_uuid = $result['user_uuid']; + $_SESSION["user_uuid"] = $this->admin_uuid; $this->write_progress("... superuser exists as '" . $this->admin_uuid . "', updating password"); $sql = "update v_users "; $sql .= "set password = '".md5($salt.$this->admin_password)."' "; @@ -739,7 +741,7 @@ include "root.php"; $this->write_progress("\t... creating super user"); //add a user and then add the user to the superadmin group //prepare the values - $this->admin_uuid = uuid(); + $user_uuid = $this->admin_uuid = uuid(); $contact_uuid = uuid(); //set a sessiong variable $_SESSION["user_uuid"] = $user_uuid; diff --git a/resources/classes/schema.php b/resources/classes/schema.php index 2dd1026f28..aa8fd0f434 100644 --- a/resources/classes/schema.php +++ b/resources/classes/schema.php @@ -60,14 +60,14 @@ if (!class_exists('schema')) { $sql = ''; $sql_schema = ''; foreach ($this->apps as $app) { - if (count($app['db'])) { + if (isset($app['db']) && count($app['db'])) { foreach ($app['db'] as $row) { //create the sql string $table_name = $row['table']; $sql = "CREATE TABLE " . $row['table'] . " (\n"; $field_count = 0; foreach ($row['fields'] as $field) { - if ($field['deprecated'] == "true") { + if (isset($field['deprecated']) and ($field['deprecated'] == "true")) { //skip this field } else { @@ -84,10 +84,10 @@ if (!class_exists('schema')) { else { $sql .= $field['type']; } - if ($field['key']['type'] == "primary") { + if (isset($field['key']) && isset($field['key']['type']) && ($field['key']['type'] == "primary")) { $sql .= " PRIMARY KEY"; } - if ($field['key']['type'] == "foreign") { + if (isset($field['key']) && isset($field['key']['type']) && ($field['key']['type'] == "foreign")) { if ($this->db_type == "pgsql") { //$sql .= " references ".$field['key']['reference']['table']."(".$field['key']['reference']['field'].")"; } @@ -456,10 +456,11 @@ if (!class_exists('schema')) { } //datatase schema - public function schema ($format) { - - //set the global variable - global $upgrade_data_types, $text; + public function schema ($format = '') { + + //set the global variable + global $db, $upgrade_data_types, $text,$output_format; + if ($format=='') $format = $output_format; //get the db variables $config = new config; @@ -520,7 +521,7 @@ if (!class_exists('schema')) { //update the app db array add exists true or false $sql = ''; foreach ($apps as $x => &$app) { - foreach ($app['db'] as $y => &$row) { + if (isset($app['db'])) foreach ($app['db'] as $y => &$row) { if (is_array($row['table'])) { $table_name = $row['table']['text']; } @@ -571,7 +572,7 @@ if (!class_exists('schema')) { //add missing tables and fields foreach ($apps as $x => &$app) { - foreach ($app['db'] as $y => &$row) { + if (isset($app['db'])) foreach ($app['db'] as $y => &$row) { if (is_array($row['table'])) { $table_name = $row['table']['text']; if (!$this->db_table_exists($db_type, $db_name, $row['table']['text'])) { @@ -707,7 +708,7 @@ if (!class_exists('schema')) { } //rebuild and populate the table foreach ($apps as $x => &$app) { - foreach ($app['db'] as $y => &$row) { + if (isset($app['db'])) foreach ($app['db'] as $y => &$row) { if (is_array($row['table'])) { $table_name = $row['table']['text']; } @@ -764,7 +765,7 @@ if (!class_exists('schema')) { //build the html while looping through the app db array $sql = ''; foreach ($apps as &$app) { - foreach ($app['db'] as $row) { + if (isset($app['db'])) foreach ($app['db'] as $row) { if (is_array($row['table'])) { $table_name = $row['table']['text']; } diff --git a/resources/php.php b/resources/php.php index 981c272c49..8c9a1902b1 100644 --- a/resources/php.php +++ b/resources/php.php @@ -23,8 +23,8 @@ Contributor(s): Mark J Crane */ - //error_reporting(E_ALL ^ E_NOTICE); //hide notices - error_reporting(E_ALL ^ E_NOTICE ^ E_WARNING ); //hide notices and warnings + error_reporting(E_ALL ^ E_NOTICE); //hide notices + //error_reporting(E_ALL ^ E_NOTICE ^ E_WARNING ); //hide notices and warnings //error_reporting(E_ALL); //session handling @@ -32,7 +32,7 @@ ini_set("session.cookie_httponly", True); session_start(); //regenerate sessions to avoid session id attacks such as session fixation - if ($_SESSION['security']['session_rotate']['boolean'] == "true") { + if (array_key_exists('security',$_SESSION) and $_SESSION['security']['session_rotate']['boolean'] == "true") { $_SESSION['session']['last_activity'] = time(); if (!isset($_SESSION['session']['created'])) { $_SESSION['session']['created'] = time();