diff --git a/app/xml_cdr/resources/classes/xml_cdr.php b/app/xml_cdr/resources/classes/xml_cdr.php
index b25b671e25..9b1c89aa86 100644
--- a/app/xml_cdr/resources/classes/xml_cdr.php
+++ b/app/xml_cdr/resources/classes/xml_cdr.php
@@ -38,6 +38,9 @@ if (!class_exists('xml_cdr')) {
public $db;
public $array;
public $fields;
+ public $setting;
+ private $username;
+ private $password;
/**
* user summary
@@ -70,12 +73,14 @@ if (!class_exists('xml_cdr')) {
public function __construct() {
//connect to the database if not connected
if (!$this->db) {
- require_once "resources/classes/database.php";
$database = new database;
$database->connect();
$this->db = $database->db;
}
+ //get the email queue settings
+ $this->setting = new settings();
+
//assign private variables (for delete method)
$this->app_name = 'xml_cdr';
$this->app_uuid = '4a085c51-7635-ff03-f67b-86e834422848';
@@ -91,23 +96,23 @@ if (!class_exists('xml_cdr')) {
public function log($message) {
//save the log if enabled is true
- if ($_SESSION['log']['enabled']['boolean'] == 'true') {
+ if ($this->setting->get('log', 'enabled') == 'true') {
//save the log to the php error log
- if ($_SESSION['log']['type']['text'] == 'error_log') {
+ if ($this->setting->get('log', 'type') == 'error_log') {
error_log($message);
}
//save the log to the syslog server
- if ($_SESSION['log']['type']['text'] == 'syslog') {
+ if ($this->setting->get('log', 'type') == 'syslog') {
openlog("XML CDR", LOG_PID | LOG_PERROR, LOG_LOCAL0);
syslog(LOG_WARNING, $message);
closelog();
}
//save the log to the file system
- if ($_SESSION['log']['type']['text'] == 'file') {
- $fp = fopen($_SESSION['server']['temp']['dir'].'/xml_cdr.log', 'a+');
+ if ($this->setting->get('log', 'text') == 'file') {
+ $fp = fopen($this->setting->get('server', 'temp').'/xml_cdr.log', 'a+');
if (!$fp) {
return;
}
@@ -191,8 +196,9 @@ if (!class_exists('xml_cdr')) {
$this->fields[] = "hangup_cause";
$this->fields[] = "hangup_cause_q850";
$this->fields[] = "sip_hangup_disposition";
- if (!empty($_SESSION['cdr']['field'])) {
- foreach ($_SESSION['cdr']['field'] as $field) {
+
+ if (!empty($this->setting->get('cdr', 'field'))) {
+ foreach ($this->setting->get('cdr', 'field') as $field) {
$field_name = end(explode(',', $field));
$this->fields[] = $field_name;
}
@@ -222,8 +228,8 @@ if (!class_exists('xml_cdr')) {
}
//set the directory
- if (!empty($_SESSION['switch']['log']['dir'])) {
- $xml_cdr_dir = $_SESSION['switch']['log']['dir'].'/xml_cdr';
+ if (!empty($this->setting->get('switch', 'log'))) {
+ $xml_cdr_dir = $this->setting->get('switch', 'log').'/xml_cdr';
}
//add the temporary permission
@@ -251,7 +257,7 @@ if (!class_exists('xml_cdr')) {
if (!empty($xml_cdr_dir)) {
if (!file_exists($xml_cdr_dir.'/failed')) {
if (!mkdir($xml_cdr_dir.'/failed', 0660, true)) {
- die('Failed to create '.$xml_cdr_dir.'/failed');
+ die('Failed to create '.$xml_cdr_dir.'/failed');
}
}
rename($xml_cdr_dir.'/'.$this->file, $xml_cdr_dir.'/failed/'.$this->file);
@@ -310,8 +316,8 @@ if (!class_exists('xml_cdr')) {
$xml = simplexml_load_string($xml_string, 'SimpleXMLElement', LIBXML_NOCDATA);
if ($xml === false) {
//set the directory
- if (!empty($_SESSION['switch']['log']['dir'])) {
- $xml_cdr_dir = $_SESSION['switch']['log']['dir'].'/xml_cdr';
+ if (!empty($this->setting->get('switch', 'log'))) {
+ $xml_cdr_dir = $this->setting->get('switch', 'log').'/xml_cdr';
}
//failed to load the XML, move the XML file to the failed directory
@@ -343,8 +349,8 @@ if (!class_exists('xml_cdr')) {
$duplicate_uuid = true;
//remove the file as the record already exists in the database
- if (!empty($_SESSION['switch']['log']['dir'])) {
- $xml_cdr_dir = $_SESSION['switch']['log']['dir'].'/xml_cdr';
+ if (!empty($this->setting->get('switch', 'log'))) {
+ $xml_cdr_dir = $this->setting->get('switch', 'log').'/xml_cdr';
if (file_exists($xml_cdr_dir.'/'.$this->file)) {
unlink($xml_cdr_dir.'/'.$this->file);
}
@@ -662,8 +668,8 @@ if (!class_exists('xml_cdr')) {
}
//dynamic cdr fields
- if (is_array($_SESSION['cdr']['field'])) {
- foreach ($_SESSION['cdr']['field'] as $field) {
+ if (!empty($this->setting->get('cdr', 'field'))) {
+ foreach ($this->setting->get('cdr', 'field') as $field) {
$fields = explode(",", $field);
$field_name = end($fields);
$this->fields[] = $field_name;
@@ -776,7 +782,7 @@ if (!class_exists('xml_cdr')) {
//check to see if file exists with the default file name and path
if (empty($record_name)) {
- $path = $_SESSION['switch']['recordings']['dir'].'/'.$domain_name.'/archive/'.$start_year.'/'.$start_month.'/'.$start_day;
+ $path = $this->setting->get('switch', 'recordings').'/'.$domain_name.'/archive/'.$start_year.'/'.$start_month.'/'.$start_day;
if (file_exists($path.'/'.$uuid.'.wav')) {
$record_path = $path;
$record_name = $uuid.'.wav';
@@ -791,7 +797,7 @@ if (!class_exists('xml_cdr')) {
//last check - check to see if file exists with the bridge_uuid for the file name and path
if (empty($record_name)) {
$bridge_uuid = urldecode($xml->variables->bridge_uuid) ?: $last_bridge;
- $path = $_SESSION['switch']['recordings']['dir'].'/'.$domain_name.'/archive/'.$start_year.'/'.$start_month.'/'.$start_day;
+ $path = $this->setting->get('switch', 'recordings').'/'.$domain_name.'/archive/'.$start_year.'/'.$start_month.'/'.$start_day;
if (file_exists($path.'/'.$bridge_uuid.'.wav')) {
$record_path = $path;
$record_name = $bridge_uuid.'.wav';
@@ -857,12 +863,12 @@ if (!class_exists('xml_cdr')) {
*/
//save to the database in xml format
- if ($_SESSION['cdr']['format']['text'] == "xml" && $_SESSION['cdr']['storage']['text'] == "db") {
+ if ($this->setting->get('cdr', 'format') == "xml" && $this->setting->get('cdr', 'storage') == "db") {
$this->array[$key]['xml'] = $xml_string;
}
//save to the database in json format
- if ($_SESSION['cdr']['format']['text'] == "json" && $_SESSION['cdr']['storage']['text'] == "db") {
+ if ($this->setting->get('cdr', 'format') == "json" && $this->setting->get('cdr', 'storage') == "db") {
$this->array[$key]['json'] = json_encode($xml);
}
@@ -907,13 +913,13 @@ if (!class_exists('xml_cdr')) {
}
//store xml cdr on the file system as a file
- if ($_SESSION['cdr']['storage']['text'] == "dir" && $error != "true") {
+ if ($this->setting->get('cdr', 'storage') == "dir" && $error != "true") {
if (!empty($uuid)) {
- $tmp_dir = $_SESSION['switch']['log']['dir'].'/xml_cdr/archive/'.$start_year.'/'.$start_month.'/'.$start_day;
+ $tmp_dir = $this->setting->get('switch', 'log').'/xml_cdr/archive/'.$start_year.'/'.$start_month.'/'.$start_day;
if(!file_exists($tmp_dir)) {
mkdir($tmp_dir, 0770, true);
}
- if ($_SESSION['cdr']['format']['text'] == "xml") {
+ if ($this->setting->get('cdr', 'format') == "xml") {
$tmp_file = $uuid.'.xml';
$fh = fopen($tmp_dir.'/'.$tmp_file, 'w');
fwrite($fh, $xml_string);
@@ -943,7 +949,7 @@ if (!class_exists('xml_cdr')) {
* get xml from the filesystem and save it to the database
*/
public function read_files() {
- $xml_cdr_dir = $_SESSION['switch']['log']['dir'].'/xml_cdr';
+ $xml_cdr_dir = $this->setting->get('switch', 'log').'/xml_cdr';
$dir_handle = opendir($xml_cdr_dir);
$x = 0;
while($file = readdir($dir_handle)) {
@@ -1038,9 +1044,9 @@ if (!class_exists('xml_cdr')) {
//authentication for xml cdr http post
if (!defined('STDIN')) {
- if ($_SESSION["cdr"]["http_enabled"]["boolean"] == "true" && empty($_SESSION["xml_cdr"]["username"])) {
+ if ($this->setting->get('cdr', 'http_enabled') == "true" && $this->username) {
//get the contents of xml_cdr.conf.xml
- $conf_xml_string = file_get_contents($_SESSION['switch']['conf']['dir'].'/autoload_configs/xml_cdr.conf.xml');
+ $conf_xml_string = file_get_contents($this->setting->get('switch', 'conf').'/autoload_configs/xml_cdr.conf.xml');
//parse the xml to get the call detail record info
try {
@@ -1068,7 +1074,7 @@ if (!class_exists('xml_cdr')) {
//if http enabled is set to false then deny access
if (!defined('STDIN')) {
- if ($_SESSION["cdr"]["http_enabled"]["boolean"] == "false") {
+ if ($this->setting->get('cdr', 'http_enabled') == "false") {
echo "access denied
\n";
return;
}
@@ -1076,11 +1082,11 @@ if (!class_exists('xml_cdr')) {
//check for the correct username and password
if (!defined('STDIN')) {
- if ($_SESSION["cdr"]["http_enabled"]["boolean"] == "true") {
+ if ($this->setting->get('cdr', 'http_enabled') == "true") {
if ($auth_array[0] == $_SERVER["PHP_AUTH_USER"] && $auth_array[1] == $_SERVER["PHP_AUTH_PW"]) {
//echo "access granted
\n";
- $_SESSION["xml_cdr"]["username"] = $auth_array[0];
- $_SESSION["xml_cdr"]["password"] = $auth_array[1];
+ $this->username = $auth_array[0];
+ $this->password = $auth_array[1];
}
else {
echo "access denied
\n";
@@ -1120,8 +1126,8 @@ if (!class_exists('xml_cdr')) {
public function user_summary() {
//set the time zone
- if (isset($_SESSION['domain']['time_zone']['name'])) {
- $time_zone = $_SESSION['domain']['time_zone']['name'];
+ if (!empty($this->setting->get('domain', 'time_zone'))) {
+ $time_zone = $this->setting->get('domain', 'time_zone');
}
else {
$time_zone = date_default_timezone_get();