Update v_xml_cdr_import.php

This commit is contained in:
FusionPBX 2018-04-18 16:29:57 -06:00 committed by GitHub
parent 5e3ce95ca8
commit d7032b6c7f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 16 additions and 10 deletions

View File

@ -114,6 +114,12 @@
xml_cdr_log("\nfail loadxml: " . $e->getMessage() . "\n");
}
//convert the xml object to json
$json = check_str(json_encode($xml));
//convert json to an array
$array = json_decode($json, true);
//filter out b-legs
if($leg == 'b'){
if(!accept_b_leg($xml)){
@ -254,19 +260,24 @@
$database->fields['domain_name'] = $domain_name;
}
//save to the database in json format
if ($_SESSION['cdr']['format']['text'] == "json" && $_SESSION['cdr']['storage']['text'] == "db") {
$database->fields['json'] = $json;
}
//dynamic cdr fields
if (is_array($_SESSION['cdr']['field'])) {
foreach ($_SESSION['cdr']['field'] as $field) {
$fields = explode(",", $field);
$field_name = end($fields);
if (count($fields) == 1) {
$database->fields[$field_name] = urldecode($xml->variables->$fields[0]);
$database->fields[$field_name] = urldecode($array['variables'][$fields[0]]);
}
if (count($fields) == 2) {
$database->fields[$field_name] = urldecode($xml->$fields[0]->$fields[1]);
$database->fields[$field_name] = urldecode($array[$fields[0]][$fields[1]]);
}
if (count($fields) == 3) {
$database->fields[$field_name] = urldecode($xml->$fields[0]->$fields[1]->$fields[2]);
$database->fields[$field_name] = urldecode($array[$fields[0]][$fields[1]][$fields[2]]);
}
}
}
@ -276,11 +287,6 @@
$database->fields['xml'] = check_str($xml_string);
}
//save to the database in json format
if ($_SESSION['cdr']['format']['text'] == "json" && $_SESSION['cdr']['storage']['text'] == "db") {
$database->fields['json'] = check_str(json_encode($xml));
}
//insert the check_str($extension_uuid)
if (strlen($xml->variables->extension_uuid) > 0) {
$database->fields['extension_uuid'] = check_str(urldecode($xml->variables->extension_uuid));
@ -361,8 +367,8 @@
$recordings['call_recordings'][$x]['call_recording_length'] = $record_length;
$recordings['call_recordings'][$x]['call_recording_date'] = urldecode($xml->variables->answer_stamp);
$recordings['call_recordings'][$x]['call_direction'] = urldecode($xml->variables->call_direction);
//$array['call_recordings'][$x]['call_recording_description']= $row['zzz'];
//$array['call_recordings'][$x]['call_recording_base64']= $row['zzz'];
//$recordings['call_recordings'][$x]['call_recording_description']= $row['zzz'];
//$recordings['call_recordings'][$x]['call_recording_base64']= $row['zzz'];
//add the temporary permission
$p = new permissions;