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 .= "#session settings\n"; $conf .= "session.cookie_httponly = true\n"; $conf .= "session.cookie_secure = true\n"; $conf .= "session.cookie_samesite = Lax\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; } } }