From 75efd1bd58f180713e0830050e9b80d582eed8a8 Mon Sep 17 00:00:00 2001 From: Matthew Vale Date: Wed, 18 Nov 2015 17:30:43 +0000 Subject: [PATCH] Resolved install issues, environment now in tact enough to run app_defaults --- core/install/install_first_time.php | 32 +- .../resources/classes/detect_switch.php | 9 +- .../resources/classes/install_fusionpbx.php | 315 +++++++++++------- .../resources/classes/install_switch.php | 6 +- resources/classes/install.php | 207 ------------ 5 files changed, 222 insertions(+), 347 deletions(-) delete mode 100644 resources/classes/install.php diff --git a/core/install/install_first_time.php b/core/install/install_first_time.php index 18e4d28c3e..045c15caa1 100644 --- a/core/install/install_first_time.php +++ b/core/install/install_first_time.php @@ -133,15 +133,6 @@ if(!$install_step) { $install_step = 'select_language'; } //set a default enviroment if first_time if($first_time_install){ - //grab the default theme - $set_session_theme = 1; - $domains_processed = 1; - include "themes/enhanced/app_defaults.php"; - unset($set_session_theme, $domains_processed); - //initialize some defaults so we can be 'logged in' - $_SESSION['username'] = 'first_time_install'; - $_SESSION['permissions'][]['permission_name'] = 'superadmin'; - $_SESSION['menu'] = ''; //initialize some varibles to cut down on warnings $_SESSION['message'] = ''; $v_link_label_play = ''; @@ -277,7 +268,7 @@ if(!$install_step) { $install_step = 'select_language'; } } if($detect_ok){ $install_ok = true; - echo "
\n";
+			echo "
\n";
 			function error_handler($err_severity, $errstr, $errfile, $errline ) {
 				if (0 === error_reporting()) { return false;}
 				switch($err_severity)
@@ -292,12 +283,12 @@ if(!$install_step) { $install_step = 'select_language'; }
 					default: 					return false;
 				}
 			}
-			set_error_handler("error_handler");
+			#set_error_handler("error_handler");
 			try {
-				$domain_uuid = uuid();
 				require_once "resources/classes/install_fusionpbx.php";
-				$fusionPBX = new install_fusionpbx($domain_name, $domain_uuid, $switch_detect);
-				$fusionPBX->debug = true;
+				$fusionPBX = new install_fusionpbx($domain_name, null, $switch_detect);
+				$domain_uuid = $fusionPBX->domain_uuid();
+				//$fusionPBX->debug = true;
 				$fusionPBX->admin_username = $admin_username;
 				$fusionPBX->admin_password = $admin_password;
 				$fusionPBX->default_country = $install_default_country;
@@ -312,7 +303,7 @@ if(!$install_step) { $install_step = 'select_language'; }
 		
 				require_once "resources/classes/install_switch.php";
 				$switch = new install_switch($domain_name, $domain_uuid, $switch_detect);
-				$switch->debug = true;
+				//$switch->debug = true;
 				$switch->install();
 			}catch(Exception $e){
 				echo "
\n"; @@ -344,6 +335,17 @@ if(!$install_step) { $install_step = 'select_language'; } echo "

Unkown install_step '$install_step'

\n"; } +if($first_time_install){ + //grab the default theme + $set_session_theme = 1; + $domains_processed = 1; + include "themes/enhanced/app_defaults.php"; + unset($set_session_theme, $domains_processed); + //initialize some defaults so we can be 'logged in' + $_SESSION['username'] = '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/detect_switch.php b/core/install/resources/classes/detect_switch.php index 9d3dd3775c..4297cc4cec 100644 --- a/core/install/resources/classes/detect_switch.php +++ b/core/install/resources/classes/detect_switch.php @@ -150,6 +150,13 @@ require_once "resources/classes/EventSocket.php"; $esl->reset_fp(); return $result; } - + + public function restart_switch() { + $this->connect_event_socket(); + if(!$this->event_socket){ + throw new Exception('Failed to use event socket'); + } + $this->event_socket_request('api fsctl shutdown restart elegant'); + } } ?> \ 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 0d4e74d75e..6d62060939 100644 --- a/core/install/resources/classes/install_fusionpbx.php +++ b/core/install/resources/classes/install_fusionpbx.php @@ -29,12 +29,14 @@ include "root.php"; //define the install class class install_fusionpbx { - protected $domain_uuid; + protected $_domain_uuid; protected $domain_name; protected $detect_switch; protected $config_php; protected $menu_uuid = 'b4750c3f-2a86-b00d-b7d0-345c14eca286'; protected $dbh; + + public function domain_uuid() { return $this->_domain_uuid; } public $debug = false; @@ -57,7 +59,8 @@ include "root.php"; if(!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; + if($domain_uuid == null){ $domain_uuid = uuid(); } + $this->_domain_uuid = $domain_uuid; $this->domain_name = $domain_name; $this->detect_switch = $detect_switch; if (is_dir("/etc/fusionpbx")){ @@ -91,7 +94,7 @@ include "root.php"; $this->create_superuser(); require "resources/require.php"; $this->create_menus(); - $this->post_create(); + $this->app_defaults(); } protected function create_config_php() { @@ -196,7 +199,7 @@ include "root.php"; protected function create_database() { require $this->config_php; - $this->write_progress("creating database as " . $this->db_type); + $this->write_progress("Creating database as " . $this->db_type); $function = "create_database_" . $this->db_type; $this->$function(); global $db; @@ -512,17 +515,23 @@ include "root.php"; protected function create_domain() { - $this->write_progress("checking if domain exists '" . $this->domain_name . "'"); - $sql = "select count(*) from v_domains "; + $this->write_progress("Checking if domain exists '" . $this->domain_name . "'"); + $sql = "select * from v_domains "; $sql .= "where domain_name = '".$this->domain_name."' "; - + $sql .= "limit 1"; $this->write_debug($sql); $prep_statement = $this->dbh->prepare(check_sql($sql)); $prep_statement->execute(); - $row = $prep_statement->fetch(PDO::FETCH_ASSOC); + $result = $prep_statement->fetch(PDO::FETCH_NAMED); unset($sql, $prep_statement); - if ($row['num_rows'] == 0) { - $this->write_progress("creating domain '" . $this->domain_name . "'"); + if ($result) { + $this->_domain_uuid = $result['domain_uuid']; + $this->write_progress("... domain exists as '" . $this->_domain_uuid . "'"); + if($result['domain_enabled'] != 'true'){ + throw new Exception("Domain already exists but is disabled, this is unexpected"); + } + }else{ + $this->write_progress("... creating domain"); $sql = "insert into v_domains "; $sql .= "("; $sql .= "domain_uuid, "; @@ -531,7 +540,7 @@ include "root.php"; $sql .= ") "; $sql .= "values "; $sql .= "("; - $sql .= "'".$this->domain_uuid."', "; + $sql .= "'".$this->_domain_uuid."', "; $sql .= "'".$this->domain_name."', "; $sql .= "'' "; $sql .= ");"; @@ -801,123 +810,180 @@ include "root.php"; } protected function create_superuser() { - //check if it exists first? - $this->write_progress("creating super user '" . $this->admin_username . "'"); - //add a user and then add the user to the superadmin group - //prepare the values - $this->admin_uuid = uuid(); - $contact_uuid = uuid(); - //set a sessiong variable - $_SESSION["user_uuid"] = $user_uuid; - //salt used with the password to create a one way hash + $this->write_progress("Checking if superuser exists '" . $this->domain_name . "'"); + $sql = "select * from v_users "; + $sql .= "where domain_uuid = '".$this->_domain_uuid."' "; + $sql .= "and username = '".$this->admin_username."' "; + $sql .= "limit 1 "; + $this->write_debug($sql); + $prep_statement = $this->dbh->prepare(check_sql($sql)); + $prep_statement->execute(); + $result = $prep_statement->fetch(PDO::FETCH_NAMED); + unset($sql, $prep_statement); $salt = generate_password('20', '4'); - //add the user account - $sql = "insert into v_users "; - $sql .= "("; - $sql .= "domain_uuid, "; - $sql .= "user_uuid, "; - $sql .= "contact_uuid, "; - $sql .= "username, "; - $sql .= "password, "; - $sql .= "salt, "; - $sql .= "add_date, "; - $sql .= "add_user "; - $sql .= ") "; - $sql .= "values "; - $sql .= "("; - $sql .= "'".$this->domain_uuid."', "; - $sql .= "'".$this->admin_uuid."', "; - $sql .= "'$contact_uuid', "; - $sql .= "'".$this->admin_username."', "; - $sql .= "'".md5($salt.$this->admin_password)."', "; - $sql .= "'$salt', "; - $sql .= "now(), "; - $sql .= "'".$this->admin_username."' "; - $sql .= ");"; - $this->write_debug( $sql."\n"); - $this->dbh->exec(check_sql($sql)); - unset($sql); - - //add to contacts - $sql = "insert into v_contacts "; - $sql .= "("; - $sql .= "domain_uuid, "; - $sql .= "contact_uuid, "; - $sql .= "contact_type, "; - $sql .= "contact_name_given, "; - $sql .= "contact_nickname "; - $sql .= ") "; - $sql .= "values "; - $sql .= "("; - $sql .= "'".$this->domain_uuid."', "; - $sql .= "'$contact_uuid', "; - $sql .= "'user', "; - $sql .= "'".$this->admin_username."', "; - $sql .= "'".$this->admin_username."' "; - $sql .= ")"; - $this->dbh->exec(check_sql($sql)); - unset($sql); - - //add the user to the superadmin group - $sql = "insert into v_group_users "; - $sql .= "("; - $sql .= "group_user_uuid, "; - $sql .= "domain_uuid, "; - $sql .= "user_uuid, "; - $sql .= "group_name "; - $sql .= ") "; - $sql .= "values "; - $sql .= "("; - $sql .= "'".uuid()."', "; - $sql .= "'".$this->domain_uuid."', "; - $sql .= "'".$this->admin_uuid."', "; - $sql .= "'superadmin' "; - $sql .= ");"; - $this->write_debug( $sql."\n"); - $this->dbh->exec(check_sql($sql)); - unset($sql); + if ($result) { + $this->admin_uuid = $result['user_uuid']; + $this->write_progress("... superuser exists as '" . $this->admin_uuid . "', updating password"); + $sql = "update v_users "; + $sql .= "set password = '".md5($salt.$this->admin_password)."' "; + $sql .= "set salt = '$salt' "; + $sql .= "where USER_uuid = '".$this->admin_uuid."' "; + $this->write_debug($sql); + $this->dbh->exec(check_sql($sql)); + }else{ + $this->write_progress("... creating super user '" . $this->admin_username . "'"); + //add a user and then add the user to the superadmin group + //prepare the values + $this->admin_uuid = uuid(); + $contact_uuid = uuid(); + //set a sessiong variable + $_SESSION["user_uuid"] = $user_uuid; + //salt used with the password to create a one way hash + //add the user account + $sql = "insert into v_users "; + $sql .= "("; + $sql .= "domain_uuid, "; + $sql .= "user_uuid, "; + $sql .= "contact_uuid, "; + $sql .= "username, "; + $sql .= "password, "; + $sql .= "salt, "; + $sql .= "add_date, "; + $sql .= "add_user "; + $sql .= ") "; + $sql .= "values "; + $sql .= "("; + $sql .= "'".$this->_domain_uuid."', "; + $sql .= "'".$this->admin_uuid."', "; + $sql .= "'$contact_uuid', "; + $sql .= "'".$this->admin_username."', "; + $sql .= "'".md5($salt.$this->admin_password)."', "; + $sql .= "'$salt', "; + $sql .= "now(), "; + $sql .= "'".$this->admin_username."' "; + $sql .= ");"; + $this->write_debug( $sql."\n"); + $this->dbh->exec(check_sql($sql)); + unset($sql); + } + $this->write_progress("Checking if superuser contact exists"); + $sql = "select count(*) from v_contacts "; + $sql .= "where domain_uuid = '".$this->_domain_uuid."' "; + $sql .= "and contact_name_given = '".$this->admin_username."' "; + $sql .= "and contact_nickname = '".$this->admin_username."' "; + $sql .= "limit 1 "; + $this->write_debug($sql); + $prep_statement = $this->dbh->prepare(check_sql($sql)); + $prep_statement->execute(); + $row = $prep_statement->fetch(PDO::FETCH_ASSOC); + if ($row['count'] == 0) { + $sql = "insert into v_contacts "; + $sql .= "("; + $sql .= "domain_uuid, "; + $sql .= "contact_uuid, "; + $sql .= "contact_type, "; + $sql .= "contact_name_given, "; + $sql .= "contact_nickname "; + $sql .= ") "; + $sql .= "values "; + $sql .= "("; + $sql .= "'".$this->_domain_uuid."', "; + $sql .= "'$contact_uuid', "; + $sql .= "'user', "; + $sql .= "'".$this->admin_username."', "; + $sql .= "'".$this->admin_username."' "; + $sql .= ")"; + $this->dbh->exec(check_sql($sql)); + unset($sql); + } + $this->write_progress("Checking if superuser is in the correct group"); + $sql = "select count(*) from v_group_users "; + $sql .= "where domain_uuid = '".$this->_domain_uuid."' "; + $sql .= "and user_uuid = '".$this->admin_uuid."' "; + $sql .= "and group_name = 'superadmin' "; + $sql .= "limit 1 "; + $this->write_debug($sql); + $prep_statement = $this->dbh->prepare(check_sql($sql)); + $prep_statement->execute(); + $row = $prep_statement->fetch(PDO::FETCH_ASSOC); + if ($row['count'] == 0) { + //add the user to the superadmin group + $sql = "insert into v_group_users "; + $sql .= "("; + $sql .= "group_user_uuid, "; + $sql .= "domain_uuid, "; + $sql .= "user_uuid, "; + $sql .= "group_name "; + $sql .= ") "; + $sql .= "values "; + $sql .= "("; + $sql .= "'".uuid()."', "; + $sql .= "'".$this->_domain_uuid."', "; + $sql .= "'".$this->admin_uuid."', "; + $sql .= "'superadmin' "; + $sql .= ");"; + $this->write_debug( $sql."\n"); + $this->dbh->exec(check_sql($sql)); + unset($sql); + } } protected function create_menus() { - $this->write_progress("creating menus"); + $this->write_progress("Creating menus"); //set the defaults $menu_name = 'default'; $menu_language = 'en-us'; $menu_description = 'Default Menu Set'; - //add the parent menu - $sql = "insert into v_menus "; - $sql .= "("; - $sql .= "menu_uuid, "; - $sql .= "menu_name, "; - $sql .= "menu_language, "; - $sql .= "menu_description "; - $sql .= ") "; - $sql .= "values "; - $sql .= "("; - $sql .= "'".$this->menu_uuid."', "; - $sql .= "'$menu_name', "; - $sql .= "'$menu_language', "; - $sql .= "'$menu_description' "; - $sql .= ");"; - if ($this->debug) { - $this->write_debug( $sql."\n"); + + $this->write_progress("Checking if menu exists"); + $sql = "select count(*) from v_menus "; + $sql .= "where menu_uuid = '".$this->menu_uuid."' "; + $sql .= "limit 1 "; + $this->write_debug($sql); + $prep_statement = $this->dbh->prepare(check_sql($sql)); + $prep_statement->execute(); + $result = $prep_statement->fetch(PDO::FETCH_NAMED); + unset($sql, $prep_statement); + if ($result['count'] == 0) { + $this->write_progress("... creating menu '" . $menu_name. "'"); + $sql = "insert into v_menus "; + $sql .= "("; + $sql .= "menu_uuid, "; + $sql .= "menu_name, "; + $sql .= "menu_language, "; + $sql .= "menu_description "; + $sql .= ") "; + $sql .= "values "; + $sql .= "("; + $sql .= "'".$this->menu_uuid."', "; + $sql .= "'$menu_name', "; + $sql .= "'$menu_language', "; + $sql .= "'$menu_description' "; + $sql .= ");"; + if ($this->debug) { + $this->write_debug( $sql."\n"); + } + $this->dbh->exec(check_sql($sql)); + unset($sql); + + //add the menu items + require_once "resources/classes/menu.php"; + $menu = new menu; + $menu->db = $this->dbh; + $menu->menu_uuid = $this->menu_uuid; + $menu->restore(); + unset($menu); } - $this->dbh->exec(check_sql($sql)); - unset($sql); - - //add the menu items - require_once "resources/classes/menu.php"; - $menu = new menu; - $menu->db = $this->dbh; - $menu->menu_uuid = $this->menu_uuid; - $menu->restore(); - unset($menu); } - protected function post_create() { - $this->write_progress("running post steps"); - //login the user account + protected function app_defaults() { + $this->write_progress("Running app_defaults"); + + //set needed session settings $_SESSION["username"] = $this->admin_username; + $_SESSION["domain_uuid"] = $this->_domain_uuid; + require $this->config_php; + require "resources/require.php"; //get the groups assigned to the user and then set the groups in $_SESSION["groups"] $sql = "SELECT * FROM v_group_users "; @@ -949,17 +1015,19 @@ include "root.php"; $prep_statementsub->execute(); $_SESSION['permissions'] = $prep_statementsub->fetchAll(PDO::FETCH_NAMED); unset($sql, $prep_statementsub); - - //make sure the database schema and installation have performed all necessary tasks - $display_results = false; - $display_type = 'none'; + + + + + require_once "resources/classes/schema.php"; - $obj = new schema; - $obj->schema($this->dbh, $this->db_type, $this->db_name, $display_type); + global $db, $db_type, $db_name, $db_username, $db_password, $db_host, $db_path, $db_port; + + $schema = new schema; + echo $schema->schema(); //run all app_defaults.php files $default_language = $this->install_language; - require_once "resources/classes/domains.php"; $domain = new domains; $domain->upgrade(); @@ -971,6 +1039,7 @@ include "root.php"; //clear the menu $_SESSION["menu"] = ""; + } public function remove_config() { diff --git a/core/install/resources/classes/install_switch.php b/core/install/resources/classes/install_switch.php index 61cad71e9a..b13c36b23d 100644 --- a/core/install/resources/classes/install_switch.php +++ b/core/install/resources/classes/install_switch.php @@ -156,7 +156,7 @@ include "root.php"; //pharData is the correct ay to do it, but it keeps creating incomplete archives //$tar = new PharData($dst_tar); //$tar->buildFromDirectory($dir); - $this->write_debug("backingup to $dst_tar"); + $this->write_debug("backing up to $dst_tar"); if (file_exists('/bin/tar')) { exec('tar -cvf ' .$dst_tar. ' -C '.$dir .' .'); }else{ @@ -166,9 +166,13 @@ include "root.php"; } } + function install() { $this->copy_conf(); $this->copy_scripts(); + //tell freeswitch to restart + $this->write_progress("Restarting switch"); + $this->detect_switch->restart_switch(); } function upgrade() { diff --git a/resources/classes/install.php b/resources/classes/install.php deleted file mode 100644 index a6b2d210b4..0000000000 --- a/resources/classes/install.php +++ /dev/null @@ -1,207 +0,0 @@ - - Copyright (C) 2010-2015 - All Rights Reserved. - - Contributor(s): - Mark J Crane -*/ -include "root.php"; - -//define the install class - class install { - - var $result; - var $domain_uuid; - var $domain; - var $switch_conf_dir; - var $switch_scripts_dir; - var $switch_sounds_dir; - - //$options '-n' --no-clobber - public function recursive_copy($src, $dst, $options = '') { - if (file_exists('/bin/cp')) { - if (strtoupper(substr(PHP_OS, 0, 3)) === 'SUN') { - //copy -R recursive, preserve attributes for SUN - $cmd = 'cp -Rp '.$src.'/* '.$dst; - } else { - //copy -R recursive, -L follow symbolic links, -p preserve attributes for other Posix systemss - $cmd = 'cp -RLp '.$options.' '.$src.'/* '.$dst; - } - exec ($cmd); - //echo $cmd."\n"; - } - else { - $dir = opendir($src); - if (!$dir) { - if (!mkdir($src, 0755, true)) { - throw new Exception("recursive_copy() source directory '".$src."' does not exist."); - } - } - if (!is_dir($dst)) { - if (!mkdir($dst, 0755, true)) { - throw new Exception("recursive_copy() failed to create destination directory '".$dst."'"); - } - } - $scripts_dir_target = $_SESSION['switch']['scripts']['dir']; - $scripts_dir_source = realpath($_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/resources/install/scripts'); - foreach (new RecursiveIteratorIterator(new RecursiveDirectoryIterator($src)) as $file_path_source) { - if ( - substr_count($file_path_source, '/..') == 0 && - substr_count($file_path_source, '/.') == 0 && - substr_count($file_path_source, '/.svn') == 0 && - substr_count($file_path_source, '/.git') == 0 - ) { - if ($dst != $src.'/resources/config.lua') { - //echo $file_path_source.' ---> '.$dst.'
'; - copy($file_path_source, $dst); - chmod($dst, 0755); - } - } - } - - while(false !== ($file = readdir($dir))) { - if (($file != '.') && ($file != '..')) { - if (is_dir($src.'/'.$file)) { - $this->recursive_copy($src.'/'.$file, $dst.'/'.$file); - } - else { - //copy only missing files -n --no-clobber - if (strpos($options,'-n') !== false) { - if (!file_exists($dst.'/'.$file)) { - copy($src.'/'.$file, $dst.'/'.$file); - //echo "copy(".$src."/".$file.", ".$dst."/".$file.");
\n"; - } - } - else { - copy($src.'/'.$file, $dst.'/'.$file); - } - } - } - } - closedir($dir); - } - } - - function recursive_delete($dir) { - if (file_exists('/bin/rm')) { - exec ('rm -Rf '.$dir.'/*'); - } - else { - foreach (glob($dir) as $file) { - if (is_dir($file)) { - $this->recursive_delete("$file/*"); - rmdir($file); - //echo "rm dir: ".$file."\n"; - } else { - //echo "delete file: ".$file."\n"; - unlink($file); - } - } - } - clearstatcache(); - } - - function copy() { - $this->copy_scripts(); - //$this->copy_sounds(); - } - - function copy_conf() { - if (file_exists($this->switch_conf_dir)) { - //make a backup copy of the conf directory - $src_dir = $this->switch_conf_dir; - $dst_dir = $this->switch_conf_dir.'.orig'; - if (is_readable($src_dir)) { - $this->recursive_copy($src_dir, $dst_dir); - $this->recursive_delete($src_dir); - } - else { - if ($src_dir != "/conf") { - mkdir($src_dir, 0774, true); - } - } - //make sure the conf directory exists - if (!is_dir($this->switch_conf_dir)) { - if (!mkdir($this->switch_conf_dir, 0774, true)) { - throw new Exception("Failed to create the switch conf directory '".$this->switch_conf_dir."'. "); - } - } - //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->switch_conf_dir; - if (is_readable($dst_dir)) { - $this->recursive_copy($src_dir, $dst_dir); - } - //print_r($install->result); - } - } - // added /examples/ into the string - function copy_scripts() { - if (file_exists($this->switch_scripts_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->switch_scripts_dir; - if (is_readable($this->switch_scripts_dir)) { - $this->recursive_copy($src_dir, $dst_dir, $_SESSION['scripts']['options']['text']); - unset($src_dir, $dst_dir); - } - chmod($dst_dir, 0774); - } - } - - //function copy_sounds() { - // if (file_exists($this->switch_sounds_dir)) { - // if (file_exists('/usr/share/examples/fusionpbx/resources/install/sounds/en/us/callie/custom/')){ - // $src_dir = '/usr/share/examples/fusionpbx/resources/install/sounds/en/us/callie/custom/'; - // changes the output dir for testing - // $dst_dir = $this->switch_sounds_dir.'/en/us/fusionpbx/custom/'; - // } - // else { - // $src_dir = $_SERVER["DOCUMENT_ROOT"].PROJECT_PATH.'/resources/install/sounds/en/us/callie/custom/'; - // $dst_dir = $this->switch_sounds_dir.'/en/us/callie/custom/'; - // } - // $this->recursive_copy($src_dir, $dst_dir, "-n"); - // if (is_readable($this->switch_sounds_dir)) { - // $this->recursive_copy($src_dir, $dst_dir); - // chmod($dst_dir, 0664); - // } - // } - //} - } - -//how to use the class - //$install = new install; - //$install->domain_uuid = $domain_uuid; - //$install->switch_conf_dir = $switch_conf_dir; - //$install->switch_scripts_dir = $switch_scripts_dir; - //$install->switch_sounds_dir = $switch_sounds_dir; - //$install->copy(); - //print_r($install->result); -?> \ No newline at end of file