merge from master
changed handling for upgrade to utilize the session event details if detect_switch is missing
This commit is contained in:
commit
9b7b8fcf05
|
|
@ -17,7 +17,7 @@
|
||||||
|
|
||||||
The Initial Developer of the Original Code is
|
The Initial Developer of the Original Code is
|
||||||
Mark J Crane <markjcrane@fusionpbx.com>
|
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.
|
the Initial Developer. All Rights Reserved.
|
||||||
|
|
||||||
Contributor(s):
|
Contributor(s):
|
||||||
|
|
@ -28,7 +28,7 @@ require_once "root.php";
|
||||||
require_once "resources/functions.php";
|
require_once "resources/functions.php";
|
||||||
require_once "resources/classes/text.php";
|
require_once "resources/classes/text.php";
|
||||||
|
|
||||||
//initialize varibles we are going to use
|
//initialize variables we are going to use
|
||||||
$event_host = '';
|
$event_host = '';
|
||||||
$event_port = '';
|
$event_port = '';
|
||||||
$event_password = '';
|
$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) {
|
if (isset($_SESSION['domain']['template']['name']) and strlen($_SESSION['domain']['template']['name']) != 0) {
|
||||||
$default_template = $_SESSION['domain']['template']['name'];
|
$default_template = $_SESSION['domain']['template']['name'];
|
||||||
}
|
}
|
||||||
|
|
||||||
//set a default enviroment if first_time
|
//set a default enviroment if first_time
|
||||||
if($first_time_install){
|
if($first_time_install){
|
||||||
//initialize some varibles to cut down on warnings
|
//initialize some varibles to cut down on warnings
|
||||||
|
|
@ -147,7 +147,7 @@ if(!$install_step) { $install_step = 'select_language'; }
|
||||||
//buffer the content
|
//buffer the content
|
||||||
ob_end_clean(); //clean the buffer
|
ob_end_clean(); //clean the buffer
|
||||||
ob_start();
|
ob_start();
|
||||||
|
|
||||||
$messages = array();
|
$messages = array();
|
||||||
if (!extension_loaded('PDO')) {
|
if (!extension_loaded('PDO')) {
|
||||||
$messages[] = "<b>PHP PDO was not detected</b>. Please install it before proceeding";
|
$messages[] = "<b>PHP PDO was not detected</b>. Please install it before proceeding";
|
||||||
|
|
@ -168,7 +168,7 @@ if(!$install_step) { $install_step = 'select_language'; }
|
||||||
"<sm>You can use the following to find what ports are allowed<pre>semanage port -l | grep '^http_port_t'</pre></sm>";
|
"<sm>You can use the following to find what ports are allowed<pre>semanage port -l | grep '^http_port_t'</pre></sm>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//action code
|
//action code
|
||||||
if($return_install_step == 'config_detail'){
|
if($return_install_step == 'config_detail'){
|
||||||
//check for all required data
|
//check for all required data
|
||||||
|
|
@ -185,11 +185,8 @@ if(!$install_step) { $install_step = 'select_language'; }
|
||||||
|
|
||||||
//set the max execution time to 1 hour
|
//set the max execution time to 1 hour
|
||||||
ini_set('max_execution_time',3600);
|
ini_set('max_execution_time',3600);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//display messages
|
//display messages
|
||||||
if (count($messages)>0) {
|
if (count($messages)>0) {
|
||||||
echo "<br />\n";
|
echo "<br />\n";
|
||||||
|
|
@ -272,7 +269,7 @@ if(!$install_step) { $install_step = 'select_language'; }
|
||||||
try {
|
try {
|
||||||
$switch_detect->detect();
|
$switch_detect->detect();
|
||||||
} catch(Exception $e){
|
} 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;
|
$detect_ok = false;
|
||||||
}
|
}
|
||||||
if($detect_ok){
|
if($detect_ok){
|
||||||
|
|
@ -309,7 +306,7 @@ if(!$install_step) { $install_step = 'select_language'; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$fusionPBX->install();
|
$fusionPBX->install();
|
||||||
|
|
||||||
require_once "resources/classes/install_switch.php";
|
require_once "resources/classes/install_switch.php";
|
||||||
$switch = new install_switch($domain_name, $domain_uuid, $switch_detect);
|
$switch = new install_switch($domain_name, $domain_uuid, $switch_detect);
|
||||||
//$switch->debug = true;
|
//$switch->debug = true;
|
||||||
|
|
@ -355,6 +352,7 @@ if($first_time_install){
|
||||||
$_SESSION['permissions'][]['permission_name'] = 'superadmin';
|
$_SESSION['permissions'][]['permission_name'] = 'superadmin';
|
||||||
$_SESSION['menu'] = '';
|
$_SESSION['menu'] = '';
|
||||||
}
|
}
|
||||||
|
|
||||||
// add the content to the template and then send output
|
// add the content to the template and then send output
|
||||||
$body = ob_get_contents(); //get the output from the buffer
|
$body = ob_get_contents(); //get the output from the buffer
|
||||||
ob_end_clean(); //clean the buffer
|
ob_end_clean(); //clean the buffer
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,14 @@ include "root.php";
|
||||||
public $debug = false;
|
public $debug = false;
|
||||||
|
|
||||||
function __construct($domain_name, $domain_uuid, $detect_switch) {
|
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)');
|
throw new Exception('The parameter $detect_switch must be a detect_switch object (or a subclass of)');
|
||||||
}
|
}
|
||||||
$this->domain_uuid = $domain_uuid;
|
$this->domain_uuid = $domain_uuid;
|
||||||
|
|
@ -166,11 +173,10 @@ include "root.php";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function install() {
|
function install() {
|
||||||
$this->copy_conf();
|
$this->copy_conf();
|
||||||
$this->copy_scripts();
|
$this->copy_scripts();
|
||||||
//tell freeswitch to restart
|
//tell freeswitch to restart
|
||||||
$this->write_progress("Restarting switch");
|
$this->write_progress("Restarting switch");
|
||||||
$this->detect_switch->restart_switch();
|
$this->detect_switch->restart_switch();
|
||||||
}
|
}
|
||||||
|
|
@ -182,10 +188,10 @@ include "root.php";
|
||||||
function copy_conf() {
|
function copy_conf() {
|
||||||
$this->write_progress("Copying Config");
|
$this->write_progress("Copying Config");
|
||||||
//make a backup of the config
|
//make a backup of the config
|
||||||
if (file_exists($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->backup_dir($this->detect_switch->conf_dir(), 'fusionpbx_switch_config');
|
||||||
$this->recursive_delete($this->detect_switch->conf_dir());
|
$this->recursive_delete($this->detect_switch->conf_dir());
|
||||||
}
|
}
|
||||||
//make sure the conf directory exists
|
//make sure the conf directory exists
|
||||||
if (!is_dir($this->detect_switch->conf_dir())) {
|
if (!is_dir($this->detect_switch->conf_dir())) {
|
||||||
if (!mkdir($this->detect_switch->conf_dir(), 0774, true)) {
|
if (!mkdir($this->detect_switch->conf_dir(), 0774, true)) {
|
||||||
|
|
@ -236,15 +242,21 @@ include "root.php";
|
||||||
|
|
||||||
function copy_scripts() {
|
function copy_scripts() {
|
||||||
$this->write_progress("Copying 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')){
|
if (file_exists('/usr/share/examples/fusionpbx/resources/install/scripts')){
|
||||||
$src_dir = '/usr/share/examples/fusionpbx/resources/install/scripts';
|
$src_dir = '/usr/share/examples/fusionpbx/resources/install/scripts';
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$src_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/resources/install/scripts';
|
$src_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/resources/install/scripts';
|
||||||
}
|
}
|
||||||
$dst_dir = $this->detect_switch->script_dir();
|
$dst_dir = $script_dir;
|
||||||
if (is_readable($this->detect_switch->script_dir())) {
|
if (is_readable($script_dir)) {
|
||||||
$this->recursive_copy($src_dir, $dst_dir, $_SESSION['scripts']['options']['text']);
|
$this->recursive_copy($src_dir, $dst_dir, $_SESSION['scripts']['options']['text']);
|
||||||
unset($src_dir, $dst_dir);
|
unset($src_dir, $dst_dir);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue