Destinations - Import/Export: Include Conditions and Actions.

This commit is contained in:
fusionate 2023-07-31 23:27:45 +00:00
parent ac6d9e5c45
commit 2c298113f6
No known key found for this signature in database
2 changed files with 25 additions and 11 deletions

View File

@ -64,6 +64,8 @@
$available_columns[] = 'destination_type_voice';
$available_columns[] = 'destination_type_fax';
$available_columns[] = 'destination_type_text';
$available_columns[] = 'destination_conditions';
$available_columns[] = 'destination_actions';
$available_columns[] = 'destination_app';
$available_columns[] = 'destination_data';
$available_columns[] = 'destination_alternate_app';

View File

@ -217,9 +217,19 @@
foreach ($array['destinations'] as $row) {
//build the array
$actions[0]['destination_app'] = $row['destination_app'];
$actions[0]['destination_data'] = $row['destination_data'];
$destination_actions = json_encode($actions);
if (!empty($row['destination_actions']) && is_json($row['destination_actions'])) {
$destination_actions = $row['destination_actions']; // use json actions
$temp = json_decode($row['destination_actions'], true);
$row['destination_app'] = $temp[array_key_last($temp)]['destination_app'];
$row['destination_data'] = $temp[array_key_last($temp)]['destination_data'];
unset($temp);
}
else if (!empty($row['destination_app']) && !empty($row['destination_data'])) {
$actions[0]['destination_app'] = $row['destination_app'];
$actions[0]['destination_data'] = $row['destination_data'];
$destination_actions = json_encode($actions);
unset($actions);
}
//get the values
$destination_number = $row['destination_number'];
@ -241,6 +251,8 @@
//add the additional fields
$dialplan_uuid = uuid();
$array["destinations"][$row_id]['destination_actions'] = $destination_actions;
$array["destinations"][$row_id]['destination_app'] = $destination_app;
$array["destinations"][$row_id]['destination_data'] = $destination_data;
$array["destinations"][$row_id]['destination_type'] = $destination_type;
$array["destinations"][$row_id]['destination_record'] = $destination_record;
$array["destinations"][$row_id]['destination_context'] = $destination_context;
@ -274,14 +286,14 @@
//authorized specific dialplan_detail_type that are safe, sanitize all other values
switch ($dialplan_detail_type) {
case 'destination_number':
break;
case '${sip_to_user}':
break;
case '${sip_req_user}':
break;
default:
$dialplan_detail_type = xml::sanitize($dialplan_detail_type);
case 'destination_number':
break;
case '${sip_to_user}':
break;
case '${sip_req_user}':
break;
default:
$dialplan_detail_type = xml::sanitize($dialplan_detail_type);
}
//build the xml dialplan