diff --git a/core/install/install_first_time.php b/core/install/install_first_time.php index 43311d541e..311a36091a 100644 --- a/core/install/install_first_time.php +++ b/core/install/install_first_time.php @@ -17,7 +17,7 @@ The Initial Developer of the Original Code is Mark J Crane - Portions created by the Initial Developer are Copyright (C) 2008-2012 + Portions created by the Initial Developer are Copyright (C) 2008-2015 the Initial Developer. All Rights Reserved. Contributor(s): @@ -28,7 +28,7 @@ require_once "root.php"; require_once "resources/functions.php"; require_once "resources/classes/text.php"; -//initialize varibles we are going to use +//initialize variables we are going to use $event_host = ''; $event_port = ''; $event_password = ''; @@ -130,7 +130,7 @@ if(!$install_step) { $install_step = 'select_language'; } if (isset($_SESSION['domain']['template']['name']) and strlen($_SESSION['domain']['template']['name']) != 0) { $default_template = $_SESSION['domain']['template']['name']; } - + //set a default enviroment if first_time if($first_time_install){ //initialize some varibles to cut down on warnings @@ -147,7 +147,7 @@ if(!$install_step) { $install_step = 'select_language'; } //buffer the content ob_end_clean(); //clean the buffer ob_start(); - + $messages = array(); if (!extension_loaded('PDO')) { $messages[] = "PHP PDO was not detected. Please install it before proceeding"; @@ -168,7 +168,7 @@ if(!$install_step) { $install_step = 'select_language'; } "You can use the following to find what ports are allowed
semanage port -l | grep '^http_port_t'
"; } } - + //action code if($return_install_step == 'config_detail'){ //check for all required data @@ -185,11 +185,8 @@ if(!$install_step) { $install_step = 'select_language'; } //set the max execution time to 1 hour ini_set('max_execution_time',3600); - } - - //display messages if (count($messages)>0) { echo "
\n"; @@ -272,7 +269,7 @@ if(!$install_step) { $install_step = 'select_language'; } try { $switch_detect->detect(); } catch(Exception $e){ - echo "

Failed to detect confgiuration detect_switch reported: " . $e->getMessage() . "

\n"; + echo "

Failed to detect configuration detect_switch reported: " . $e->getMessage() . "

\n"; $detect_ok = false; } if($detect_ok){ @@ -309,7 +306,7 @@ if(!$install_step) { $install_step = 'select_language'; } } } $fusionPBX->install(); - + require_once "resources/classes/install_switch.php"; $switch = new install_switch($domain_name, $domain_uuid, $switch_detect); //$switch->debug = true; @@ -355,6 +352,7 @@ if($first_time_install){ $_SESSION['permissions'][]['permission_name'] = 'superadmin'; $_SESSION['menu'] = ''; } + // add the content to the template and then send output $body = ob_get_contents(); //get the output from the buffer ob_end_clean(); //clean the buffer diff --git a/core/install/resources/classes/install_switch.php b/core/install/resources/classes/install_switch.php index b13c36b23d..97b12dd37a 100644 --- a/core/install/resources/classes/install_switch.php +++ b/core/install/resources/classes/install_switch.php @@ -35,7 +35,14 @@ include "root.php"; public $debug = false; function __construct($domain_name, $domain_uuid, $detect_switch) { - if(!is_a($detect_switch, 'detect_switch')){ + if($detect_switch == null){ + if(strlen($_SESSION['event_socket_ip_address']) == 0 or strlen($_SESSION['event_socket_port']) == 0 or strlen($_SESSION['event_socket_password']) == 0 ){ + throw new Exception('The parameter $detect_switch was empty and i could not find the event socket details from the session'); + } + $detect_switch = new detect_switch($_SESSION['event_socket_ip_address'], $_SESSION['event_socket_port'], $_SESSION['event_socket_password']); + $domain_name = $_SESSION['domain_name']; + $domain_uuid = $_SESSION['domain_uuid']; + }elseif(!is_a($detect_switch, 'detect_switch')){ throw new Exception('The parameter $detect_switch must be a detect_switch object (or a subclass of)'); } $this->domain_uuid = $domain_uuid; @@ -166,11 +173,10 @@ include "root.php"; } } - function install() { $this->copy_conf(); $this->copy_scripts(); - //tell freeswitch to restart + //tell freeswitch to restart $this->write_progress("Restarting switch"); $this->detect_switch->restart_switch(); } @@ -182,10 +188,10 @@ include "root.php"; function copy_conf() { $this->write_progress("Copying Config"); //make a backup of the config - if (file_exists($this->detect_switch->conf_dir())) { - $this->backup_dir($this->detect_switch->conf_dir(), 'fusionpbx_switch_config'); - $this->recursive_delete($this->detect_switch->conf_dir()); - } + if (file_exists($this->detect_switch->conf_dir())) { + $this->backup_dir($this->detect_switch->conf_dir(), 'fusionpbx_switch_config'); + $this->recursive_delete($this->detect_switch->conf_dir()); + } //make sure the conf directory exists if (!is_dir($this->detect_switch->conf_dir())) { if (!mkdir($this->detect_switch->conf_dir(), 0774, true)) { @@ -236,15 +242,21 @@ include "root.php"; function copy_scripts() { $this->write_progress("Copying Scripts"); - if (file_exists($this->detect_switch->script_dir())) { + if (strlen($_SESSION['switch']['scripts']['dir']) > 0) { + $script_dir = $_SESSION['switch']['scripts']['dir']; + } + else { + $script_dir = $this->detect_switch->script_dir(); + } + if (file_exists($script_dir)) { if (file_exists('/usr/share/examples/fusionpbx/resources/install/scripts')){ $src_dir = '/usr/share/examples/fusionpbx/resources/install/scripts'; } else { $src_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/resources/install/scripts'; } - $dst_dir = $this->detect_switch->script_dir(); - if (is_readable($this->detect_switch->script_dir())) { + $dst_dir = $script_dir; + if (is_readable($script_dir)) { $this->recursive_copy($src_dir, $dst_dir, $_SESSION['scripts']['options']['text']); unset($src_dir, $dst_dir); }