merge from master

changed handling for upgrade to utilize the session event details if
detect_switch is missing
This commit is contained in:
Matthew Vale 2015-11-26 14:50:30 +00:00
commit 9b7b8fcf05
2 changed files with 30 additions and 20 deletions

View File

@ -17,7 +17,7 @@
The Initial Developer of the Original Code is
Mark J Crane <markjcrane@fusionpbx.com>
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 = '';
@ -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 "<br />\n";
@ -272,7 +269,7 @@ if(!$install_step) { $install_step = 'select_language'; }
try {
$switch_detect->detect();
} catch(Exception $e){
echo "<p>Failed to detect confgiuration detect_switch reported: " . $e->getMessage() . "</p>\n";
echo "<p>Failed to detect configuration detect_switch reported: " . $e->getMessage() . "</p>\n";
$detect_ok = false;
}
if($detect_ok){
@ -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

View File

@ -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,7 +173,6 @@ include "root.php";
}
}
function install() {
$this->copy_conf();
$this->copy_scripts();
@ -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);
}