Delete install_switch.php
This commit is contained in:
parent
774f463b5f
commit
53bcbd6b73
|
|
@ -1,147 +0,0 @@
|
|||
<?php
|
||||
/*
|
||||
FusionPBX
|
||||
Version: MPL 1.1
|
||||
|
||||
The contents of this file are subject to the Mozilla Public License Version
|
||||
1.1 (the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
http://www.mozilla.org/MPL/
|
||||
|
||||
Software distributed under the License is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
for the specific language governing rights and limitations under the
|
||||
License.
|
||||
|
||||
The Original Code is FusionPBX
|
||||
|
||||
The Initial Developer of the Original Code is
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
Copyright (C) 2010-2016
|
||||
All Rights Reserved.
|
||||
|
||||
Contributor(s):
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
*/
|
||||
include "root.php";
|
||||
|
||||
//define the install class
|
||||
class install_switch {
|
||||
|
||||
protected $global_settings;
|
||||
protected $dbh;
|
||||
|
||||
public $debug = false;
|
||||
public $echo_progress = false;
|
||||
|
||||
function __construct($global_settings) {
|
||||
if(is_null($global_settings)){
|
||||
require_once "core/install/resources/classes/global_settings.php";
|
||||
$global_settings = new global_settings();
|
||||
}elseif(!is_a($global_settings, 'global_settings')){
|
||||
throw new Exception('The parameter $global_settings must be a global_settings object (or a subclass of)');
|
||||
}
|
||||
$this->global_settings = $global_settings;
|
||||
}
|
||||
|
||||
//utility Functions
|
||||
function write_debug($message) {
|
||||
if($this->debug){
|
||||
echo "$message\n";
|
||||
}
|
||||
}
|
||||
|
||||
function write_progress($message) {
|
||||
if ($this->echo_progress){
|
||||
echo "$message\n";
|
||||
}
|
||||
}
|
||||
|
||||
protected function backup_dir($dir, $backup_name){
|
||||
if (!is_readable($dir)) {
|
||||
throw new Exception("backup_dir() source directory '".$dir."' does not exist.");
|
||||
}
|
||||
$dst_tar = join( DIRECTORY_SEPARATOR, array(sys_get_temp_dir(), "$backup_name.tar"));
|
||||
//pharData is the correct way to do it, but it keeps creating incomplete archives
|
||||
//$tar = new PharData($dst_tar);
|
||||
//$tar->buildFromDirectory($dir);
|
||||
$this->write_debug("backing up to $dst_tar");
|
||||
if (file_exists('/bin/tar')) {
|
||||
exec('tar -cvf ' .$dst_tar. ' -C '.$dir .' .');
|
||||
}
|
||||
else {
|
||||
$this->write_debug('WARN: old config could not be compressed');
|
||||
$dst_dir = join( DIRECTORY_SEPARATOR, array(sys_get_temp_dir(), "$backup_name"));
|
||||
recursive_copy($dir, $dst_dir);
|
||||
}
|
||||
}
|
||||
|
||||
function install_phase_1() {
|
||||
$this->write_progress("Install phase 1 started for switch");
|
||||
$this->copy_conf();
|
||||
$this->write_progress("Install phase 1 completed for switch");
|
||||
}
|
||||
|
||||
function install_phase_2() {
|
||||
$this->write_progress("Install phase 2 started for switch");
|
||||
$this->restart_switch();
|
||||
$this->write_progress("Install phase 2 completed for switch");
|
||||
}
|
||||
|
||||
protected function copy_conf() {
|
||||
//send a message
|
||||
$this->write_progress("\tCopying Config");
|
||||
|
||||
//make a backup of the config
|
||||
if (file_exists($this->global_settings->switch_conf_dir())) {
|
||||
$this->backup_dir($this->global_settings->switch_conf_dir(), 'fusionpbx_switch_config');
|
||||
recursive_delete($this->global_settings->switch_conf_dir());
|
||||
}
|
||||
|
||||
//make sure the conf directory exists
|
||||
if (!is_dir($this->global_settings->switch_conf_dir())) {
|
||||
if (!mkdir($this->global_settings->switch_conf_dir(), 02770, true)) {
|
||||
$this->write_progress("Switch conf directory does not exist");
|
||||
}
|
||||
}
|
||||
|
||||
//copy resources/templates/conf to the freeswitch conf dir
|
||||
if (file_exists('/usr/share/examples/fusionpbx/resources/templates/conf')){
|
||||
$src_dir = "/usr/share/examples/fusionpbx/resources/templates/conf";
|
||||
}
|
||||
else {
|
||||
$src_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH."/resources/templates/conf";
|
||||
}
|
||||
$dst_dir = $this->global_settings->switch_conf_dir();
|
||||
if (is_readable($dst_dir)) {
|
||||
recursive_copy($src_dir, $dst_dir);
|
||||
unset($src_dir, $dst_dir);
|
||||
}
|
||||
$fax_dir = join( DIRECTORY_SEPARATOR, array($this->global_settings->switch_storage_dir(), 'fax'));
|
||||
if (!is_readable($fax_dir)) { mkdir($fax_dir,02770,true); }
|
||||
$voicemail_dir = join( DIRECTORY_SEPARATOR, array($this->global_settings->switch_storage_dir(), 'voicemail'));
|
||||
if (!is_readable($voicemail_dir)) { mkdir($voicemail_dir,02770,true); }
|
||||
|
||||
//write the xml_cdr.conf.xml file
|
||||
if (file_exists($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH."/app/xml_cdr")) {
|
||||
xml_cdr_conf_xml();
|
||||
}
|
||||
|
||||
//write the switch.conf.xml file
|
||||
if (file_exists($this->global_settings->switch_conf_dir())) {
|
||||
switch_conf_xml();
|
||||
}
|
||||
}
|
||||
|
||||
protected function restart_switch() {
|
||||
$esl = new event_socket;
|
||||
if(!$esl->connect($this->global_settings->switch_event_host(), $this->global_settings->switch_event_port(), $this->global_settings->switch_event_password())) {
|
||||
$this->write_progress("Failed to connect to switch");
|
||||
}
|
||||
if (!$esl->request('api fsctl shutdown restart elegant')){
|
||||
$this->write_progress("Failed to send switch restart");
|
||||
}
|
||||
$esl->reset_fp();
|
||||
}
|
||||
}
|
||||
?>
|
||||
Loading…
Reference in New Issue