app_name = 'install'; $this->app_uuid = '75507e6e-891e-11e5-af63-feff819cdc9f'; } /** *
Used to create the config.conf file.
*BSD /usr/local/etc/fusionpbx
*Linux /etc/fusionpbx
* @return boolean */ public function config() { //set the default config file location $os = strtoupper(substr(PHP_OS, 0, 3)); switch ($os) { case "FRE": case "OPE": case "NET": case "BSD": $config_path = '/usr/local/etc/fusionpbx'; $config_file = $config_path.'/config.conf'; $document_root = '/usr/local/www/fusionpbx'; $conf_dir = '/usr/local/etc/freeswitch'; $sounds_dir = '/usr/share/freeswitch/sounds'; $database_dir = '/var/lib/freeswitch/db'; $recordings_dir = '/var/lib/freeswitch/recordings'; $storage_dir = '/var/lib/freeswitch/storage'; $voicemail_dir = '/var/lib/freeswitch/storage/voicemail'; $scripts_dir = '/usr/share/freeswitch/scripts'; $php_dir = PHP_BINDIR; $cache_location = '/var/cache/fusionpbx'; break; case "LIN": $config_path = '/etc/fusionpbx/'; $config_file = $config_path.'/config.conf'; $document_root = '/var/www/fusionpbx'; $conf_dir = '/etc/freeswitch'; $sounds_dir = '/usr/share/freeswitch/sounds'; $database_dir = '/var/lib/freeswitch/db'; $recordings_dir = '/var/lib/freeswitch/recordings'; $storage_dir = '/var/lib/freeswitch/storage'; $voicemail_dir = '/var/lib/freeswitch/storage/voicemail'; $scripts_dir = '/usr/share/freeswitch/scripts'; $php_dir = PHP_BINDIR; $cache_location = '/var/cache/fusionpbx'; break; case "WIN": $system_drive = getenv('SystemDrive'); $config_path = $system_drive . DIRECTORY_SEPARATOR . 'ProgramData' . DIRECTORY_SEPARATOR . 'fusionpbx' ; $config_file = $config_path.DIRECTORY_SEPARATOR.'config.conf'; $document_root = $_SERVER["DOCUMENT_ROOT"]; $conf_dir = $_SERVER['ProgramFiles'].DIRECTORY_SEPARATOR.'freeswitch'.DIRECTORY_SEPARATOR.'conf'; $sounds_dir = $_SERVER['ProgramFiles'].DIRECTORY_SEPARATOR.'freeswitch'.DIRECTORY_SEPARATOR.'sounds'; $database_dir = $_SERVER['ProgramFiles'].DIRECTORY_SEPARATOR.'freeswitch'.DIRECTORY_SEPARATOR.'db'; $recordings_dir = $_SERVER['ProgramFiles'].DIRECTORY_SEPARATOR.'freeswitch'.DIRECTORY_SEPARATOR.'recordings'; $storage_dir = $_SERVER['ProgramFiles'].DIRECTORY_SEPARATOR.'freeswitch'.DIRECTORY_SEPARATOR.'storage'; $voicemail_dir = $_SERVER['ProgramFiles'].DIRECTORY_SEPARATOR.'freeswitch'.DIRECTORY_SEPARATOR.'voicemail'; $scripts_dir = $_SERVER['ProgramFiles'].DIRECTORY_SEPARATOR.'freeswitch'.DIRECTORY_SEPARATOR.'scripts'; $php_dir = dirname(PHP_BINARY); $cache_location = dirname($_SERVER['DOCUMENT_ROOT']).DIRECTORY_SEPARATOR.'cache'.DIRECTORY_SEPARATOR.'fusionpbx'; break; } //end the script if the config path is not set if (!isset($config_path)) { $this->message = "Config file path not found\n"; return false; } //config directory is not writable if (!is_writable($config_path)) { $this->message = "Check permissions ".$config_path." must be writable.\n"; return false; } //make the config directory if (isset($config_path)) { system('mkdir -p '.$config_path); } //build the config file $conf = "\n"; $conf .= "#database system settings\n"; $conf .= "database.0.type = pgsql\n"; $conf .= "database.0.host = ".$this->database_host."\n"; $conf .= "database.0.port = ".$this->database_port."\n"; $conf .= "database.0.sslmode = prefer\n"; $conf .= "database.0.name = ".$this->database_name."\n"; $conf .= "database.0.username = ".$this->database_username."\n"; $conf .= "database.0.password = ".$this->database_password."\n"; $conf .= "\n"; $conf .= "#database switch settings\n"; $conf .= "database.1.type = sqlite\n"; $conf .= "database.1.path = ".$database_dir."\n"; $conf .= "database.1.name = core.db\n"; //$conf .= "database.1.backend.base64 = \n"; $conf .= "\n"; $conf .= "#general settings\n"; $conf .= "document.root = ".$document_root."\n"; $conf .= "project.path =\n"; $conf .= "temp.dir = /tmp\n"; $conf .= "php.dir = ".$php_dir."\n"; $conf .= "php.bin = php\n"; $conf .= "\n"; $conf .= "#cache settings\n"; $conf .= "cache.method = file\n"; $conf .= "cache.location = ".$cache_location."\n"; $conf .= "cache.settings = true\n"; $conf .= "\n"; $conf .= "#switch settings\n"; $conf .= "switch.conf.dir = ".$conf_dir."\n"; $conf .= "switch.sounds.dir = ".$sounds_dir."\n"; $conf .= "switch.database.dir = ".$database_dir."\n"; $conf .= "switch.recordings.dir = ".$recordings_dir."\n"; $conf .= "switch.storage.dir = ".$storage_dir."\n"; $conf .= "switch.voicemail.dir = ".$voicemail_dir."\n"; $conf .= "switch.scripts.dir = ".$scripts_dir."\n"; $conf .= "\n"; $conf .= "#switch xml handler\n"; $conf .= "xml_handler.fs_path = false\n"; $conf .= "xml_handler.reg_as_number_alias = false\n"; $conf .= "xml_handler.number_as_presence_id = true\n"; $conf .= "\n"; $conf .= "#error reporting options: user,dev,all\n"; $conf .= "error.reporting = user\n"; //write the config file $file_handle = fopen($config_file,"w"); if(!$file_handle) { return; } fwrite($file_handle, $conf); fclose($file_handle); //if the config.conf file was saved return true if (file_exists($config_file)) { return true; } else { return false; } } }