diff --git a/app/scripts/resources/scripts/app/conference_center/index.lua b/app/scripts/resources/scripts/app/conference_center/index.lua index faf6b427d0..16ea45e3ff 100644 --- a/app/scripts/resources/scripts/app/conference_center/index.lua +++ b/app/scripts/resources/scripts/app/conference_center/index.lua @@ -563,6 +563,7 @@ end dbh:query(sql, params, function(row) conference_room_uuid = string.lower(row["conference_room_uuid"]); + conference_room_name = string.lower(row["conference_room_name"]); meeting_uuid = string.lower(row["meeting_uuid"]); record = string.lower(row["record"]); profile = string.lower(row["profile"]); @@ -596,6 +597,16 @@ --close the database connection dbh:release(); + --set the conference_room_uuid + if (conference_room_uuid) then + session:setVariable("conference_room_uuid", conference_room_uuid); + end + + --set the conference_room_name + if (conference_room_name) then + session:setVariable("conference_room_name", conference_room_name); + end + --set the meeting uuid if (meeting_uuid) then session:setVariable("meeting_uuid", meeting_uuid); diff --git a/app/xml_cdr/resources/classes/xml_cdr.php b/app/xml_cdr/resources/classes/xml_cdr.php index 33ee03559d..9e415cedc7 100644 --- a/app/xml_cdr/resources/classes/xml_cdr.php +++ b/app/xml_cdr/resources/classes/xml_cdr.php @@ -176,7 +176,8 @@ if (!class_exists('xml_cdr')) { $this->fields[] = "sip_hangup_disposition"; if (is_array($_SESSION['cdr']['field'])) { foreach ($_SESSION['cdr']['field'] as $field) { - $this->fields[] = $field; + $field_name = end($field); + $this->fields[] = $field_name; } } } @@ -386,8 +387,20 @@ if (!class_exists('xml_cdr')) { if (urldecode($xml->variables->cc_side) == 'agent') { $this->array[$key]['direction'] = 'inbound'; } - if (is_uuid(urldecode($xml->variables->call_center_queue_uuid))) { - $this->array[$key]['cc_queue'] = urldecode($xml->variables->call_center_queue_uuid); + if (strlen($xml->variables->cc_queue) > 0) { + $cc_queue = urldecode($xml->variables->cc_queue); + $cc_queue_array = explode('@', $cc_queue); + $cc_queue_extension = $cc_queue_array[0]; + if (is_numeric($cc_queue_extension)) { + $sql = "select call_center_queue_uuid from v_call_center_queues "; + $sql .= "where domain_uuid = :domain_uuid "; + $sql .= "and queue_extension = :queue_extension "; + $parameters['domain_uuid'] = urldecode($xml->variables->domain_uuid); + $parameters['queue_extension'] = $cc_queue_extension; + $database = new database; + $this->array[$key]['cc_queue'] = $database->select($sql, $parameters, 'column'); + unset($parameters); + } } //app info @@ -457,13 +470,19 @@ if (!class_exists('xml_cdr')) { $field_name = end($fields); $this->fields[] = $field_name; if (count($fields) == 1) { - $this->array[$key][$field_name] = urldecode($xml->variables->$fields[0]); + $this->array[$key][$field_name] = urldecode($xml->variables->{$fields[0]}); } if (count($fields) == 2) { - $this->array[$key][$field_name] = urldecode($xml->$fields[0]->$fields[1]); + $this->array[$key][$field_name] = urldecode($xml->{$fields[0]}->{$fields[1]}); } if (count($fields) == 3) { - $this->array[$key][$field_name] = urldecode($xml->$fields[0]->$fields[1]->$fields[2]); + $this->array[$key][$field_name] = urldecode($xml->{$fields[0]}->{$fields[1]}->{$fields[2]}); + } + if (count($fields) == 4) { + $this->array[$key][$field_name] = urldecode($xml->{$fields[0]}->{$fields[1]}->{$fields[2]}->{$fields[3]}); + } + if (count($fields) == 5) { + $this->array[$key][$field_name] = urldecode($xml->{$fields[0]}->{$fields[1]}->{$fields[2]}->{$fields[3]}->{$fields[4]}); } } } @@ -1358,4 +1377,4 @@ if (!class_exists('xml_cdr')) { } //class } -?> +?> \ No newline at end of file diff --git a/app/xml_cdr/v_xml_cdr_import.php b/app/xml_cdr/v_xml_cdr_import.php index fdc8a64a94..67b894fd79 100644 --- a/app/xml_cdr/v_xml_cdr_import.php +++ b/app/xml_cdr/v_xml_cdr_import.php @@ -192,8 +192,20 @@ if (urldecode($xml->variables->cc_side) == 'agent') { $database->fields['direction'] = 'inbound'; } - if (is_uuid(urldecode($xml->variables->call_center_queue_uuid))) { - $this->array[$key]['cc_queue'] = urldecode($xml->variables->call_center_queue_uuid); + if (strlen($xml->variables->cc_queue) > 0) { + $cc_queue = urldecode($xml->variables->cc_queue); + $cc_queue_array = explode('@', $cc_queue); + $cc_queue_extension = $cc_queue_array[0]; + if (is_numeric($cc_queue_extension)) { + $sql = "select call_center_queue_uuid from v_call_center_queues "; + $sql .= "where domain_uuid = :domain_uuid "; + $sql .= "and queue_extension = :queue_extension "; + $parameters['domain_uuid'] = urldecode($xml->variables->domain_uuid); + $parameters['queue_extension'] = $cc_queue_extension; + $database = new database; + $database->fields['cc_queue'] = $database->select($sql, $parameters, 'column'); + unset($parameters); + } } //app info